Подтвердить что ты не робот

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

4b9b3361

Ответ 1

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

Ответ 2

У меня есть RelativeLayout, называемый RelativeMain1. Вот как я запускаю Activity

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 в свой макет, он должен работать.

Ответ 3

Добавить "OnClickListener" в ваш RelativeLayout.

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

Ответ 4

  • Введите 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

Ответ 5

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

             }
         });

Ответ 6

Вы можете просто добавить этот android:onClick="onClick"