У меня есть 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
в качестве кнопки для реагирования на событие щелчка, если какая-либо часть области нажата?
Просто добавьте 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.
RelativeLayout
идентификатор, например, вы набрали shift_parent_name
Установите 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">
Затем добавьте код в свой метод 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){ } });