Android,setonclicklistner动态生成textview数组

时间:2013-03-18 15:32:33

标签: android textview

我有一个动态生成的文本视图数组

for(int i = 0; i < blog_link_counter; i++) {
textViewArray[i] = new TextView(this);
textViewArray[i].setText(Html.fromHtml(array_blog_text[i]+"<br>"));
textViewArray[i].setId(i);
textViewArray[i].setOnClickListener(this);
((LinearLayout) linearLayout).addView(textViewArray[i]);
}

现在我有一个Activity,其中有很多textview。我需要在所有文本视图中添加onclick listner功能。

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:id="@+id/info"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    android:background="#FFFFFF" />

我在java文件中添加了onclicklistner。之后我实现了onclicklistner接口     


    public void onClick(View v) {
        // TODO Auto-generated method stub

    switch(v.getId())
    {
    case R.id.    <--  ?
    }

}}

我如何匹配它所引用的Textview ID?

请帮助。

2 个答案:

答案 0 :(得分:3)

然后在每个TextView上拨打setOnClickListener(OnClickListener)

for(int i = 0; i < blog_link_counter; i++) {
    textViewArray[i] = new TextView(this);
    textViewArray[i].setText(Html.fromHtml(array_blog_text[i]+"<br>"));
    textViewArray[i].setId(i);
    textViewArray[i].setOnClickListener(listener);
    ((LinearLayout) linearLayout).addView(textViewArray[i]);
}

答案 1 :(得分:1)

不必使用R.id.xxx,只需使用您在循环中使用的相同数字:

switch(v.getId())
{
case 0:
case 1:
//etc
}