0

我有 10 个类别,并TableLayout在 aa 中显示这些类别和每个类别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 发送给它。

现在,我有两个问题:

  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 回答