Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android RadioGroup OnCheckedChangeListener不工作_Android_Onclick_Android Radiogroup - Fatal编程技术网

Android RadioGroup OnCheckedChangeListener不工作

Android RadioGroup OnCheckedChangeListener不工作,android,onclick,android-radiogroup,Android,Onclick,Android Radiogroup,我有一个简单的radiogroup和单选按钮列表。出于某种原因,我看不到在该组中选择单选按钮时触发change listener。在调试模式下,我可以看到监听器正在设置,在UI中单选按钮被正确选择 RadioGroup.OnCheckedChangeListener listener1, listener2; RadioGroup rg1; public void radioBtnListener() { rg1 = (RadioGroup) view.findViewById(R.id

我有一个简单的radiogroup和单选按钮列表。出于某种原因,我看不到在该组中选择单选按钮时触发change listener。在调试模式下,我可以看到监听器正在设置,在UI中单选按钮被正确选择

RadioGroup.OnCheckedChangeListener listener1, listener2;
RadioGroup rg1;
public void radioBtnListener()
{
    rg1 = (RadioGroup) view.findViewById(R.id.answerChoices);
    rg1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Log.e("Log", "Clicked");

        }
    });
    rg1.setOnCheckedChangeListener(listener1);
    listener1 = new RadioGroup.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            if (checkedId != -1) {
                Log.e("Log", "changed");
            }
        }
    };
}

您对两个回调使用相同的侦听器,因此第一个回调将被销毁。如果你把后者改成listener2,那就好了

这一个为带有rg1的listener1留下了一个引用

rg1.setOnCheckedChangeListener(listener1)

然后这就破坏了原来的listener1,给你一个新的


listener1=new RadioGroup.OnCheckedChangeListener()。我错过了什么吗。