Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.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
Java OnCheckedChanged侦听器用于具有相同ID的多个交换机_Java_Android_Xml - Fatal编程技术网

Java OnCheckedChanged侦听器用于具有相同ID的多个交换机

Java OnCheckedChanged侦听器用于具有相同ID的多个交换机,java,android,xml,Java,Android,Xml,我的应用程序有一个设置页面,用户可以在其中设置自己的电子邮件和电话号码。每个电话号码都有两个开关(语音和短信)。每个电子邮件只有一个开关,指示它是否处于活动状态 许多用户只有一部电话,一封电子邮件。但从理论上讲,用户可以有无限多的电子邮件和电话号码(从API加载),它们都会反映在这个设置页面上 问题是,从技术上讲,我只有3个开关,“voiceSwitch”、“smsSwitch”和“emailSwitch”用于所有行,不管有多少行。所以,即使一个用户有3个不同的电话号码,我相信他们都会有相同的I

我的应用程序有一个设置页面,用户可以在其中设置自己的电子邮件和电话号码。每个电话号码都有两个开关(语音和短信)。每个电子邮件只有一个开关,指示它是否处于活动状态

许多用户只有一部电话,一封电子邮件。但从理论上讲,用户可以有无限多的电子邮件和电话号码(从API加载),它们都会反映在这个设置页面上

问题是,从技术上讲,我只有3个开关,“voiceSwitch”、“smsSwitch”和“emailSwitch”用于所有行,不管有多少行。所以,即使一个用户有3个不同的电话号码,我相信他们都会有相同的ID…对吗

如何使用“侦听器”查看是否已检查任何开关?我需要这样做,因为每当开关被更改时,我都会尝试更新用户设置。我不知道如何正确引用单个电话/电子邮件开关


只是出于好奇,您使用过数据绑定吗?查看您所做的操作并继续操作将非常有帮助。您可以将项目位置作为标记添加到每个开关,并在checkChangedListener中使用标记作为索引。这取决于您如何创建这些开关?你是为它们做布局还是使用回收器视图?@a_local_nobody这涉及3个XML文件:“settings_activity.XML”有2个列表视图(电话列表和电子邮件列表),“phone_list_row.XML”只有一个号码标签和2个开关,以及“email_list_row.XML”有标签和1个开关。从技术上讲,我不是在使用RecyclerView,但我是在“回收”这些观点?我使用这些电话和电子邮件行作为listview的每一行。请帮忙!如果有必要,我可以发布填充行的代码?只是出于好奇,您使用过数据绑定吗?查看您所做的操作并继续操作将非常有帮助。您可以将项目位置作为标记添加到每个开关,并在checkChangedListener中使用标记作为索引。这取决于您如何创建这些开关?你是为它们做布局还是使用回收器视图?@a_local_nobody这涉及3个XML文件:“settings_activity.XML”有2个列表视图(电话列表和电子邮件列表),“phone_list_row.XML”只有一个号码标签和2个开关,以及“email_list_row.XML”有标签和1个开关。从技术上讲,我不是在使用RecyclerView,但我是在“回收”这些观点?我使用这些电话和电子邮件行作为listview的每一行。请帮忙!如果有必要,我可以发布填充行的代码?