我有一个表布局,就像this one一样简单。
我需要的是允许最终用户单击表格的每个单元格,并在每个单元格上执行某些操作。
但是,似乎android 表格布局仅支持基于点击事件的行,没有基于点击事件的单元格。如何摆脱这个?
答案 0 :(得分:6)
您需要在XML布局定义文件中使用android:clickable="true"
和android:onClick="clickHandlerCell"
来处理点击事件,在我的情况下是在LinearLayout中。
要确定单击了哪个单元格,您可以在创建时使用view.setTag(uniqueID)
标记每个单元格的视图。在clickHandlerCell函数中,使用view.getTag()
来获取您的单元格的身份。
答案 1 :(得分:2)
尝试使用此代码单击特定的表行:
TableLayout contact_table = (TableLayout)findViewById(R.id.contact_table);
final View row=contact_table.getChildAt(i);
row.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v){
// TODO Auto-generated method stub
row_id=contact_table.indexOfChild(row);
}
});