接受RelativeLayout中的点击事件

我有一个有几个TextView作为孩子的RelativeLayout

 <RelativeLayout android:id="@+id/shift_parent_name" android:layout_width="fill_parent" android:layout_weight="0.25" > <TextView android:id="@+id/shift_parent_nametitle" android:text="@string/shift_parent_nametitle" style="@style/header_text" /> <TextView android:id="@+id/shift_parent_namefield" android:layout_alignParentRight="true" android:layout_below="@id/shift_parent_nametitle" style="@style/wrap" /> 

如果按下区域的任何部分,我如何才能使用RelativeLayout作为button来响应点击事件

Solutions Collecting From Web of "接受RelativeLayout中的点击事件"

只需要添加一个OnClickListener到你的RelativeLayout

我有一个名为“RelativeMain1”的RelativeLayout。 这是我如何开始活动

 RelativeLayout relativeclic1 =(RelativeLayout)findViewById(R.id.RelativeMain1); relativeclic1.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ startActivityForResult(new Intent(A_My_Galaxy.this,C_Student_Book_Planet.class), 0); } }); 

将onClickListener添加到布局后,它应该可以工作。

添加一个“OnClickListener”到你的RelativeLayout。

注意:不要忘记在你的RelativeLayout中添加android:clickable="true"

  1. 给你的RelativeLayout一个ID,就像你键入的shift_parent_name
  2. 将你的RelativeLayout XML设置为android:clickable="true"

    你最终的XML将如下所示:

     <RelativeLayout android:id="@+id/shift_parent_name" android:layout_width="fill_parent" android:layout_weight="0.25" android:clickable="true"> 
  3. 然后在你的onCreate方法中添加代码:

     RelativeLayout relative1 = (RelativeLayout) findViewById(R.id.shift_parent_name); relative1.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ startActivity(new Intent(Main.this, About.class) ); } }); 

确保更改您的活动名称, Main.thisAbout.class

主要的活动叫Main.java ,第二个是About.java

 RelativeLayout rl=(RelativeLayout)findViewById(R.id.RelativeMain1); relativeclic1.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View v){ } });