不确定头条是否描述了它,我想要的是:
我让我的布局中有9个TextViews,名为tv1,tv2,...,tv9。
当然我可以用
访问每一个 TextView tv11 = (TextView) findViewById(R.id.tv1)
批量输入,所以我宁愿循环并循环遍历这些项目,但是如何将findViewbyId包含到循环中,我可以相应地更改值?
答案 0 :(得分:2)
是否有任何理由不能对包含ViewGroup的子项进行迭代?因此,您可以获得getChildCount
的孩子数量,然后您可以getChildAt
访问每个孩子。
如果布局中有其他视图,您可能必须测试特殊子项是否为TextView
的实例,但基本概念相当简单。
答案 1 :(得分:1)
您可以创建一个要循环的ID数组。
IE:
public static final int TEXTVIEW_IDS = { R.id.tv1, R.id.tv2, R.id.tv3, etc.. };
在您的观看代码中:
for (int id : TEXTVIEW_IDS) {
((Textview) findViewById(id)).CallYourMethod();
}
如果你不能做@James Holderness所建议的,这可能是一个合适的选择。