android识别tablerow

时间:2011-02-15 07:55:43

标签: android tablelayout tablerow

那么,有没有简单的方法来识别被点击的桌子? 我有一个带有静态数据的tablelayout,比如一个菜单。当用户单击任何一个tablerow时,我想启动指定的活动。 我用谷歌搜索了几个小时但是每个人似乎都使用了tablerows text属性中的视图来识别它,如果你翻译应用程序就会很糟糕。我试图找到TableLayouit的一些getIndex属性,但没有运气,并且视图.getId属性是无用的。

我想解决方案是在每个tablerow上都有特定的onclicklistener,但这会生成很多(不必要的)代码,并且必须有更好的解决方案吗?

此致

1 个答案:

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