0

私は 10 のカテゴリを持っており、それらをTableLayoutaa のすべてのカテゴリに表示しますTableRow。すべてのカテゴリには ID があります。次のようandroid:tagに、各カテゴリの属性にすべてのカテゴリ ID を設定します。TableRow

<TableLayout>

  <TableRow android:id="@+id/cat1" android:tag="1" onClick="row_click">
    <ImageView />
    <TextView />
    <TextView />
  </TableRow>

  <TableRow android:id="@+id/cat2" android:tag="2" onClick="row_click">
    <ImageView />
    <TextView />
    <TextView />
  </TableRow>
  .
  .
  .

</TableLayout>

ユーザーがすべての行をクリックすると、別のアクティビティが開始され、カテゴリ ID が送信されます。

今、私は2つの質問があります:

  1. これは私が選択した方法ですか、修正されましたか? (いいえの場合は、より良い方法を提案してください)

  2. はいの場合、メソッドでtag属性の値を取得するrow_click方法は?

4

1 に答える 1

2

はい、このようにしてください

public void row_click(View v){
        System.out.println("HELO : " +v.getTag().toString());
    }

アップデート

注 : android:onClick は API レベル 4 以降用であるため、1.6 未満をターゲットにしている場合は使用できません。だから私は使用することをお勧めします

TableRow tr = (TableRow) findViewById(R.id.tr1);

tr.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        row_click(v);
    }
});
于 2013-08-24T06:33:45.310 に答える