我正在创建一个项目,在其中我用一个表提示用户。他必须填写价值观。当他点击提交时,在后端我必须检查所有这些值是否正确。 以下是表和代码的示例选择
正如你所看到的,我已经为p1提供了id为“fcfs_p1_ct”,为p2提供了“fcfs_p2_ct”。现在在后端,我必须检查用户输入的值。我必须创建相应编辑文本的对象。
现在一种方法是创建n个if else条件,并手动为每个编辑后的文本创建对象。这个过程可以通过循环完成吗? 例如对于p1
String str = findViewById(R.id.fcfs_p1_ct).getText().toString;
同样适用于p2
String str = findViewById(R.id.fcfs_p2_ct).getText().toString;
对于n个进程,等等。
因为报表中唯一变化的变量是流程编号。请建议我为循环执行相同的方法
答案 0 :(得分:2)
Android中的这种情况不是由循环来处理,一旦您意识到您的布局(XML)需要大量View
ID分配,建议使用Adapter
即可。 Android SDK中有许多可供使用的Adapters
,例如ArrayAdapter
,BaseAdapter
,CursorAdapter
等。
选择哪个Adapter
完全取决于您选择的View
/您要扩充的布局以及您愿意使用的数据类型和来源。
在您的情况下,我建议您从简单的ListView
开始,并使用自定义Adapter
(扩展BaseAdapter
的类)。关于如何实现这一点的教程很多,这很容易理解。
答案 1 :(得分:1)
您可以简单地将这些ID保存在Integer的ArrayList中,如<; p>
ArrayList<Integer> ids = new ArrayList<>();
ids.add(R.id.editText1);
ids.add(R.id.editText2);
当用户按下提交时,您可以浏览该数组并执行您想要的操作。如果要在结尾处更改相应的值,可以保留Map而不是ArrayList。
但我的个人建议是使用ListView或RecyclerView。您可以使用适配器重复视图,并将数据保存为类的实例,以便您可以避免使用这些类型的代码。