那么,有什么简单的方法来识别被点击的表吗?我有一个包含静态数据的表格布局,就像菜单一样。当用户单击任何表格时,我希望启动指定的活动。我用谷歌搜索了几个小时,但似乎每个人都使用tablerows text属性中的视图来识别它,如果你翻译这个应用程序,这很糟糕。我试图找到TableLayouit的一些getIndex属性,但没有成功,视图的.getId属性无用。
我猜解决方案是在每个表上都有特定的onclicklisteners,但这会生成很多(不必要的)代码,必须有更好的解决方案?
问候
发布于 2011-02-15 16:03:51
如果您将您的活动作为ListView()的扩展,并将您的选项放在列表中,您实际上可以覆盖方法public void onListItemClick(ListView parent,View v,int position,long id) {},该方法的位置属性是一个int属性,它指示您实际单击的是哪一行。我确信这是一个实际有效的解决方案,所以如果您的表布局不是太复杂,我建议您创建一个列表并覆盖此方法!
好吧,我会尝试另一个,因为那个会给你带来其他问题,你可以这样做:
在onCreate()中
firstTextVIew = (TextView) findViewById(R.id.firstText);
firstTextView.setOnClickListener(this);
secondTextVIew = (TextView) findViewById(R.id.secondText);
secondTextView.setOnClickListener(this);在onCreate()之后
public void onClick(View v) {
/*make a list of cases for any text view, where __TextView is the name you gave to the textview when you made the getViewById() on the start of the activity*/
if(v == firstTextView){
//start activity
}
if(v == secondTextView){
//start activity
}
}https://stackoverflow.com/questions/5001097
复制相似问题