每當你聲明一個元素或創建它時,強烈建議指定一個唯一的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