那么,有没有简单的方法来识别被点击的桌子? 我有一个带有静态数据的tablelayout,比如一个菜单。当用户单击任何一个tablerow时,我想启动指定的活动。 我用谷歌搜索了几个小时但是每个人似乎都使用了tablerows text属性中的视图来识别它,如果你翻译应用程序就会很糟糕。我试图找到TableLayouit的一些getIndex属性,但没有运气,并且视图.getId属性是无用的。
我想解决方案是在每个tablerow上都有特定的onclicklistener,但这会生成很多(不必要的)代码,并且必须有更好的解决方案吗?
此致
答案 0 :(得分:1)
如果您将活动作为ListView()
的扩展名并将选项放在列表中,则可以覆盖该方法
public void onListItemClick(ListView parent,View v,int position,long id){
}
并且该方法的position属性是一个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
}
}