我是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),然后解析它?如果没有,那将是什么解决方案。
由于
答案 0 :(得分:0)
您有几个选择。您可以设置onClickListener内联:
v2.setOnClickListener(new OnClickListener() {
public void onClick (View viewClicked) {
Log.d("View row: " + i + ", column: " + j);
// or something else
}
});
或者您可以使用View.setTag(),这样您就可以将键值对存储到视图中,类似于地图。