java如何在for循环中定义和设置TextView以简化代码?
我想使下面的代码简洁。它有类似呼叫的重复。我尝试了LinearView和GetChildCount方法,但并没有给出正确的结果,我可能误解了如何使用Childs或其他方法在循环中定义这些
有人能帮忙吗
tv1 = (EditText) findViewById(R.id.tv1);
tv2 = (EditText) findViewById(R.id.tv2);
tv3 = (EditText) findViewById(R.id.tv3);
// ...
// ... and so on till
// ...
tv25 = (EditText) findViewById(R.id.tv25);
// Similarly
tv1.setText(stall);
// ... till ...
tv25.setText(stall);
# 1 楼答案
使用以下命令:
这看起来可能需要大量的剪切和粘贴,但我用excel创建了R.id.tvX。要做到这一点,你必须写作
然后拖动它直到有25个字段
另外,如果您想稍微清理一下代码,可以创建一个类,在其中粘贴数组创建部分并使变量为静态。例如,如果调用EditTextArrayHandler类,将得到如下数组:
希望能有帮助
# 2 楼答案
使用Java反射可以显著减少代码量
可以使用
int cur_tv_index=context.getResources().getIdentifier("tv" + Integer.toString(i+1), "id", context.getPackageName());