如何处理表格布局的每个单元格上的单击事件

时间:2011-07-05 08:28:39

标签: android android-layout android-emulator android-widget

我有一个表布局,就像this one一样简单。

我需要的是允许最终用户单击表格的每个单元格,并在每个单元格上执行某些操作。

但是,似乎android 表格布局仅支持基于点击事件的,没有基于点击事件的单元格。如何摆脱这个?

2 个答案:

答案 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);
    }
});