android - 使用数据绑定时,如何将 Activity 的 30 个 EditTexts 的资源 ID 添加到 ArrayList?
问题描述
当我们不使用数据绑定时,我们可以简单地执行以下操作:
EditText editText;
List<EditText> arrayListOfEditTexts = new ArrayList<EditText>();
for(int i=1; i<=30; i++){
// I have a naming convention of editTexts: editText1, editText2, ... editText30
int resourceId = getApplicationContext().getResources().getIdentifier("editText"+i, "id", getApplication().getPackageName());
editText = findViewById(resourceId);
arrayListOfEditTexts.add(editText);
}
但是,当我们使用数据绑定时,不建议使用 findViewById,使用它会产生编译或运行时错误。但在这种情况下,我们也可以在活动中使用绑定变量访问editTexts,例如:binding.editText1。但是我想访问循环内的editTexts(使用循环变量)并将它们添加到ArrayList,因为editTexts太多(使用数据绑定时)。
那么,如何通过数据绑定实现上述代码部分中描述的功能呢?
解决方案
推荐阅读
- tensorflow - 在 Keras CNN 中选择指标
- nginx - 在入口 nginx 配置中为特定主机启用重写
- r - 将多边形列表堆叠到单个数据框中
- javascript - 如何使用 set heigt 创建棋盘
- r - 根据R中的不同概率创建数字
- java - 无法访问您的文件 HTML 文件中的 Java Servlet 中的错误
- python - 在 python 中安装 PyTelegramBotAPI 时出错
- elasticsearch - Elassandra:UDT 列表匹配查询 - 无结果
- python - matplotlib.pyplot 和 seaborn 对待 numpy 数组有何不同?
- java - 将继承的类放入对象标签thymeleaf