Android 为两个单独的组注册OnCheckedChangeListeners

Android 为两个单独的组注册OnCheckedChangeListeners,android,radio-group,android-radiogroup,Android,Radio Group,Android Radiogroup,我在为第二个广播组注册第二个听众时遇到问题。 XML: 当我开始调试代码时,我在CamerGroup.setOnCheckedChangeListener行上得到一个NullPointerException。当我注释掉这段代码时,我的应用程序会正常启动。 是否真的可以注册两个单独的onCheckedChanged,或者我必须创建一个侦听器,并确定哪个RadioGroup在侦听器本身中调用侦听器。 我的所有搜索都显示了仅使用一个RadioGroup的示例,而且我似乎无法回忆起我每次使用过的、一次有

我在为第二个广播组注册第二个听众时遇到问题。
XML:

当我开始调试代码时,我在CamerGroup.setOnCheckedChangeListener行上得到一个NullPointerException。当我注释掉这段代码时,我的应用程序会正常启动。 是否真的可以注册两个单独的onCheckedChanged,或者我必须创建一个侦听器,并确定哪个RadioGroup在侦听器本身中调用侦听器。

我的所有搜索都显示了仅使用一个RadioGroup的示例,而且我似乎无法回忆起我每次使用过的、一次有多个RadioGroup的任何应用程序。

请为您的第二个RadioGroup提供以下id:

android:id="@+id/cameraGroup"
你忘了

所以这一行:

final RadioGroup CameraGroup = findViewById((R.id.cameraGroup)) ;
由于找不到
cameraGroup
,使得
cameraGroup
null

CameraGroup.setOnCheckedChangeListener()
抛出NPE。


是的,你可以拥有和广播组一样多的听众。

啊,你说得对。我在横向xml文件中有,但不是纵向的。。。谢谢我也看到了。NPE令人困惑。@danny117如此常见
android:id="@+id/cameraGroup"
final RadioGroup CameraGroup = findViewById((R.id.cameraGroup)) ;