我如何findViewByTag?

假设我已经dynamic地生成了一些LinearLayout的数量,全部使用不同的标签。

for (int i = 0; i <= 5; i++) { final LinearLayout LinLayBtn = new LinearLayout(this); LinLayBtn.setTag( "id"+String.valueOf(i) ); ... 

现在我需要以某种方式访问​​这个布局,他们用不同的方法标记数字。

 LinearLayout LinLayBtn = (LinearLayout)findViewWithTag("1"); 

什么是最好的方法来做到这一点?

谢谢!

Solutions Collecting From Web of "我如何findViewByTag?"

你有没有尝试过这种方式,发现它的问题?

你需要做这一行

 LinearLayout LinLayBtn = (LinearLayout)findViewWithTag("1"); 

匹配您在设置标签时使用的命名scheme。 所以你想在你的例子中这样的东西:

 LinearLayout LinLayBtn = (LinearLayout)findViewWithTag("id1"); 

如果你需要做很多这样的查找,虽然它可能是一个更好的方法来将视图引用存储在一个数组中,而你正在创build它们,所以你不必拥有所有的findView调用。 或者像@Muhammadbuild议并使用parent.getChild(index i);