我想将许多TextView与资源连接起来,例如,我在xml文件中有21个TextView,它们都创建了一个表。我想简单地将它们附加到我的代码中,但我想避免使用21行代码。我想要循环它,但我可能错了,因为它不起作用。
for (int id = 1; id < 21; id++)
textView[id] = (TextView) findViewById(R.id.textView+"id");
}
答案 0 :(得分:0)
您可以链接ViewGroup,这是您的表格,并迭代他们的孩子。 让我们假设我们有一个名为mLinearLayout的线性布局。
for(i=0; mLinearLayout.getChilds.size; i++){
View child = mLinearLayout.getChildAt(i);
if(child instanceof TextView)
mList.add((TextView) child)
}
对于更复杂的布局,您可能需要递归函数来迭代子视图组。
祝你好运答案 1 :(得分:0)
您可以尝试findViewById
而不是findViewWithTag
,因为现在您可以使用您想要的字符串参数。
当然,你可能需要调整一些东西才能使用它。
您的TextViews
需要成为xml中父级布局的直接子级并标记它们:android:tag="mytext1"
然后在Java中,例如:
LinearLayout parentLayout = (LinearLayout) findViewById(R.id.parent);
...
textview[i] = (TextView) parentLayout.findViewWithTag("mytext" + i);
你可以循环findViewWithTag