如何通过单击按钮删除存储在 ArrayList<EditText> 中的特定视图?
How can I remove a certain view stored in an ArrayList<EditText> on a click of a button?
所以我正在创建一个 activity,用户可以在其中创建投票。
我有:
1- 动态添加的 EditTexts
2- 包含所有 EditText 视图的 List<EditText> allEds = new ArrayList<>();
。
3- 还动态附加 ImageButtons '❌' 作为 删除工具 附加到每个 EditText.
我只想:
检测用户删除了哪个 EditText 视图,以便从 allEds 列表[=]同步删除它44=].
换句话说,当用户单击附加到 EditText 的 删除按钮 时(除了删除我成功完成的两个视图之外) 我想知道在哪个 删除按钮 上单击了 EditText 并从ArrayList.
请帮帮我。
您可以通过 view.setTag()
方法使用 EditText
标签属性:这样每对 Button & EdiText
应该有相同的标签。
然后是 link 列表中的几个选项:
第一个:
将标签值设置为等于列表中 EditText
索引的整数值:并直接在单击按钮时将其删除:
button.setOnClickListener(v -> {
int buttonTag = (int) v.getTag();
allEds.remove(buttonTag);
});
第二个:
在第一个选项中处理索引可能很麻烦,因此您可以通过遍历列表来查找预期的标签:
button.setOnClickListener(v -> {
String buttonTag = (String) v.getTag();
for(EditText editText: allEds) {
String edtitextTag = (String) editText.getTag();
if (buttonTag.equals(edtitextTag)) {
// remove EditText
allEds.remove(editText);
break;
}
}
});
所以我正在创建一个 activity,用户可以在其中创建投票。
我有:
1- 动态添加的 EditTexts
2- 包含所有 EditText 视图的 List<EditText> allEds = new ArrayList<>();
。
3- 还动态附加 ImageButtons '❌' 作为 删除工具 附加到每个 EditText.
我只想:
检测用户删除了哪个 EditText 视图,以便从 allEds 列表[=]同步删除它44=].
换句话说,当用户单击附加到 EditText 的 删除按钮 时(除了删除我成功完成的两个视图之外) 我想知道在哪个 删除按钮 上单击了 EditText 并从ArrayList.
请帮帮我。
您可以通过 view.setTag()
方法使用 EditText
标签属性:这样每对 Button & EdiText
应该有相同的标签。
然后是 link 列表中的几个选项:
第一个:
将标签值设置为等于列表中 EditText
索引的整数值:并直接在单击按钮时将其删除:
button.setOnClickListener(v -> {
int buttonTag = (int) v.getTag();
allEds.remove(buttonTag);
});
第二个:
在第一个选项中处理索引可能很麻烦,因此您可以通过遍历列表来查找预期的标签:
button.setOnClickListener(v -> {
String buttonTag = (String) v.getTag();
for(EditText editText: allEds) {
String edtitextTag = (String) editText.getTag();
if (buttonTag.equals(edtitextTag)) {
// remove EditText
allEds.remove(editText);
break;
}
}
});