我正在運行一個for-loop並生成應該可點擊的TextViews,因爲我想先啓動一個intent並將url作爲參數以及源代碼傳遞。獲取動態生成的TextView文本點擊它時
所以,我已經試過這
articleURL[i].setPaintFlags(articleURL[i].getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
articleURL[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//System.out.println(articleURL[v.getId()].getText().toString());
System.out.println(v.getId());
}
});
我遇到的問題是,v.getId()始終爲0。當我使用註釋代碼
System.out.println(articleURL[v.getId()].getText().toString());
我得到一個例外說
java.lang.ArrayIndexOutOfBoundsException: length=10; index=-1
我只需要我點擊的TextView的內容。我到底如何得到它? articleURL [i]不起作用,因爲他當時不知道我。 v.getId()如何總是-1?無論我點擊哪一個?
這下面是完整的for循環
TextView articleURL = new TextView[hashMapSize];
for (int i = 0; i < hashMapSize; i++) {
articleURL[i] = new TextView(getActivity());
articleURL[i].setPaintFlags(articleURL[i].getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
articleURL[i].setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
System.out.println(articleURL[v.getId()].getText().toString());
//System.out.println(v.getId());
}
});
}
謝謝,鑄造它的工作。 ;) – Musterknabe