Принятие событий click в RelativeLayout

У меня есть RelativeLayout с несколькими TextView как дети

 <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 в качестве кнопки для реагирования на событие щелчка, если какая-либо часть области нажата?

Solutions Collecting From Web of "Принятие событий click в RelativeLayout"

Просто добавьте OnClickListener в свой RelativeLayout

У меня есть RelativeLayout, называемый RelativeMain1. Вот как я начинаю работу

 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.

Примечание. Не забудьте добавить android:clickable="true" в RelativeLayout.

  1. Дайте вашему RelativeLayout идентификатор, например, вы набрали shift_parent_name
  2. Установите XML-файл RelativeLayout для 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.this и About.class .

Основное действие называется Main.java а второе – About.java

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