2

動的に生成されたテキストビューの配列があります

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]);
}

今、私はアクティビティを持っています、そこでは多くのテキストビューがあります。すべてのテキストビューにonclicklistner機能を追加する必要があります。

<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.    <--  ?
    }

}}

参照しているTextviewIDをどのように照合できますか?

助けてください。

4

2 に答える 2

3

setOnClickListener(OnClickListener)次に、各に電話してください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(listener);
    ((LinearLayout) linearLayout).addView(textViewArray[i]);
}
于 2013-03-18T15:34:29.250 に答える
1

R.id.xxxを使用する必要はありません。ループで使用したのと同じ番号を使用するだけです。

switch(v.getId())
{
case 0:
case 1:
//etc
}
于 2013-03-18T16:23:00.667 に答える