如何以合理的方式识别项目?

时间:2013-05-16 22:36:13

标签: android onclicklistener android-tablelayout

我是Android开发的新手,我正在尝试处理项目网格上的点击。最好的方法是什么?到目前为止,我有类似的设置onclicklistener

 TableLayout layout = (TableLayout) findViewById(R.id.tableLayout1);
    for (int i = 0; i < layout.getChildCount(); i++) {
        View v = layout.getChildAt(i);
        if (v instanceof TableRow) {
            for (int j = 0; j < ((TableRow)v).getChildCount(); j++) {
                View v2 =  ((TableRow)v).getChildAt(j);
                v2.setOnClickListener(this);
            }
        }
    }

现在我想处理表格中包含的项目的点击次数。因为有很多项目我想避免写一个长“开关”。这些项具有包含行数和列数的逻辑ID。有没有办法获取已单击的项目的实际ID(XML中的ID),然后解析它?如果没有,那将是什么解决方案。

由于

1 个答案:

答案 0 :(得分:0)

您有几个选择。您可以设置onClickListener内联:

v2.setOnClickListener(new OnClickListener() {
    public void onClick (View viewClicked) {
        Log.d("View row: " + i + ", column: " + j);
        // or something else
    }
});

或者您可以使用View.setTag(),这样您就可以将键值对存储到视图中,类似于地图。