单击时在RelativeLayout中获取textview的id

时间:2012-12-10 00:49:22

标签: view click textview relativelayout onclicklistener

接下来是我的问题。我在这个main.xml示例中有一个带有许多textview的RelativeLayout。

main.xml

<RelativeLayout  
xmlns:android="http://schemas.android.com/apk/res/android"  
android:layout_height="fill_parent"  
android:layout_width="fill_parent"
android:background="#000000"
android:id="@+id/RelativeLayout"
>  
<TextView 
    android:id="@+id/tv00"
    android:background="#ffffff"
    android:layout_height="wrap_content"  
    android:layout_width="wrap_content"
    android:clickable="true"></TextView>
<TextView  
    android:id="@+id/tv01"  
    android:layout_width="wrap_content"  
    android:layout_below="@+id/tv00"
    android:padding="5dp"
    android:clickable="true"></TextView> ...

...</RelativeLayout>  

我想在我的activity.java中访问我点击的textview的id。怎么做? 使用onClickListener我可以侦听RelativeLayout,但是如何在该布局中为特定的textview执行此操作。有什么用getid()?

activity.java

   RelativeLayout rv =(RelativeLayout)findViewById(R.id.RelativeLayout);
    rv.setOnClickListener(new View.OnClickListener(){
        public void onClick(View v) {
        }
    });

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

据我所知,没有像RelativeLayout的“onChildClick”监听器。 您可以迭代TextViews(使用rv.getChildCount()rv.getChildAt(i))并将单击侦听器添加到各个视图中...但是,如果您的RelativeLayout只包含TextView列表,您可能需要考虑使用{ {3}}代替(及其setOnItemClickListener())。