每当你声明一个元素或创建它时,强烈建议指定一个唯一的ID,至少如果它们要在同一个ViewGroup中。
在XML:
<TextView android:id="@+id/txtId1"
...
/>
<TextView android:id="@+id/txtId2"
...
/>
或致电
View.setId(int id)
在你的情况下,它会更容易分配这些在XML中,为每个TextViews的这样做。 一旦你拥有了这些,你可以手动将其添加到一个数组和循环通过他们:
阵:
int[] viewArray = {R.id.txtId1, R.id.txtId2};
循环:
int size = viewArray.length;
for(int i = 0; i < size; i++) {
TextView view = (TextView) findViewById(viewArray[i]);
if(view != null) {
view.setMovementMethod(LinkMovementMethod.getinstance());
}
}
确保上面的代码是在活动这是膨胀你的XML。例如:
setContentView(R.layout.activity_main);//This xml should contain the TextViews mentioned above.
否则,如果你正在膨胀自己的观点电话:
myView.findViewById(viewArray[i]);
欲了解更多信息检查View类文档。
我没有看到问题。不会每个这些TextView有一个唯一的ID?因此你简单地为每一个调用findViewById。例如TextView TextView4 =(TextView)findViewById(R.id.textview4); – EJK 2014-12-04 22:04:45
'findViewById()只会返回第一个实例'。只有一个实例。 R.id.xxxx是独一无二的。 – Simon 2014-12-04 22:06:23
以下行是'TextView4.setMovementMethod(..)'是否正确?我可以做到这一点,我将这样做约300文本视图,然而 – 2014-12-04 22:07:31