java - 如何为 Android 中所有单选按钮组中的所有单选按钮设置背景

标签 java android loops for-loop

我正在尝试使所有单选按钮组具有红色背景,所有单选按钮具有白色背景。使用此代码,所有单选按钮组都会获得红色背景,但只有最后 4 个单选按钮才会获得白色背景。我该怎么做才能将所有单选按钮组中的所有单选按钮设置为白色背景? 这是我的代码:

    finishButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            for (int i = 0; i < 4; i++) {
                radioGroup[i].setBackgroundColor(Color.RED);
                for (int j = 0; j < 4; j++) {
                    radioButton[j].setBackgroundColor(Color.WHITE);
                }
            }
        }
    });

谢谢!

最佳答案

您的radioButton数组永远不会改变。它的值与进入循环之前的值相同。试试这个:

finishButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        for (int i = 0; i < 4; i++) {
            radioGroup[i].setBackgroundColor(Color.RED);
            for (int j = 0; j < 4; j++) {
                radioGroup[i].getChildAt(j).setBackgroundColor(Color.WHITE);
            }
        }
    }
});

由于我不知道您的剩余代码,您可能会找到一种更智能的方法来访问前三个 radioButton 数组。

关于java - 如何为 Android 中所有单选按钮组中的所有单选按钮设置背景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33442652/

相关文章:

java - 替换以星号开头和结尾的字符串,忽略当前字符串中的括号

java - 在 HTML 广告中实现 MRaid.js

java - 将 Button OnClick 与 Fragment 中 RecyclerView 内的 Row OnClick 分开

java - 循环运行多次,不知道为什么

Java 到 Clojure 重写

java - 将循环编号添加到对象的名称

java - 安卓模拟器 : Process finished with exit code -529697949

android - 如何将 fragment 添加到选项卡式 Activity ?

java - 获取数据时循环和二分查找之间的性能

c++ - 从另一个线程打破循环