Android 将选中的复选框值存储在字符串数组中
我有一个自定义对话框,其中包含一个CarBodyColorsNames的Recylerview+SearchView。还有一件事,我有一个适配器,每个项目都有一个自定义行。自定义行由一个Imagview(图标)、TextView(colorName)和复选框组成。它工作正常,但问题是,我想根据适配器位置在字符串数组中存储用户选中的所有值。以下是我的代码: edBodyColorAdapter.javaAndroid 将选中的复选框值存储在字符串数组中,android,Android,我有一个自定义对话框,其中包含一个CarBodyColorsNames的Recylerview+SearchView。还有一件事,我有一个适配器,每个项目都有一个自定义行。自定义行由一个Imagview(图标)、TextView(colorName)和复选框组成。它工作正常,但问题是,我想根据适配器位置在字符串数组中存储用户选中的所有值。以下是我的代码: edBodyColorAdapter.java holder.checkBoxColor.setOnCheckedChangeListener
holder.checkBoxColor.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton compoundButton, boolean isChecked) {
if(isChecked)
{
int position = holder.getAdapterPosition();
clickedColorNamePosition = edBodyColorArrayList.indexOf(filteredArrayList.get(position));
Toast.makeText(context, "current position = " + clickedColorNamePosition, Toast.LENGTH_SHORT).show();
String name = edBodyColorArrayList.get(clickedColorNamePosition).getBodyColorName();
Toast.makeText(context, "name = " + name, Toast.LENGTH_SHORT).show();
}
else
{
Toast.makeText(context, "Unchecked", Toast.LENGTH_SHORT).show();
}
}
});
当用户单击“确定”按钮时,我想选择所有选中的复选框值
全局声明一个Hashmap,用于将选中/未选中的值作为用户选中/未选中复选框放置/删除
HashMap<Integer, String> selectionMap = new HashMap<>();
此方法用于从hashmap中放置或移除值
private void checkAndRemove(int position, String name) {
if(selectionMap.containsKey(position)){
selectionMap.remove(position);
}else {
selectionMap.put(position, name);
}
}
现在,在用户单击“确定”按钮后,使用此hashmap获取所选值。
迭代hashmap值集,然后您将获得所有选定值。全局声明1个hashmap,用于将选定/未选定值作为用户检查/未检查复选框放置/删除
HashMap<Integer, String> selectionMap = new HashMap<>();
此方法用于从hashmap中放置或移除值
private void checkAndRemove(int position, String name) {
if(selectionMap.containsKey(position)){
selectionMap.remove(position);
}else {
selectionMap.put(position, name);
}
}
现在,在用户单击“确定”按钮后,使用此hashmap获取所选值。
迭代hashmap值集,然后您将获得所有选定的值。如果用户再次按下相同的复选框,会发生什么情况?那么,在这种情况下,您将不得不删除该值字符串数组?Kishan Maurya ai不知道如何处理这个问题。这是一个更好的选择。先生,请给我解决方案代码…tnxs请提前告诉我您的问题是否已解决。我希望它能帮助您检查:Kishan Maurya非常感谢您,它为我工作……如果用户再次按下相同的复选框,会发生什么?那么,在这种情况下,您将不得不删除该值字符串数组?Kishan Maurya ai不知道如何处理这个问题。这是一个更好的选择。先生,请给我解决方案代码…tnxs提前通知我您的问题是否已解决我希望它能帮助您检查:Kishan Maurya非常感谢您为我工作。。。。。。。