2017-04-25 4 views
1

ci-dessous est mon xml:Disposition relative pas cliquable

 <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@color/white" 
      android:orientation="horizontal" 
      android:weightSum="2"> 
    <RelativeLayout 
      android:clickable="true" 
      android:id="@+id/rel1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:gravity="center"> 

      <com.app.thelist.view.CustomButton 
       android:clickable="false" 
       android:focusable="false" 
       android:id="@+id/btn1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:layout_centerVertical="true" 
       android:layout_gravity="center" 
       android:background="@android:color/transparent" 
       android:text="btn1" 
       android:textAllCaps="false" 
       android:textColor="@color/txt_sub_title" 
       android:textSize="@dimen/txt_barselection_size" 
       app:FontEnum="regular" /> 

      <com.app.thelist.view.CustomTextView 
       android:clickable="false" 
       android:focusable="false" 
       android:id="@+id/txt1" 
       style="@style/RegularFont" 
       android:layout_centerVertical="true" 
       android:layout_toRightOf="@id/btn_my_drinks" 
       android:background="@drawable/border_gry_theme" 
       android:padding="@dimen/dimen_3" 
       android:text="00" 
       android:textColor="@color/txt_sub_title" 
       android:textSize="@dimen/txt_single_view_font" /> 

      <ImageView 
       android:id="@+id/iv_bootm_selecter2" 
       android:layout_width="match_parent" 
       android:layout_height="7dp" 
       android:layout_below="@id/btn1" 
       android:scaleType="fitXY" /> 

     </RelativeLayout> 
    <RelativeLayout 
      android:clickable="true" 
      android:id="@+id/rel1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_weight="1" 
      android:gravity="center"> 

      <com.app.thelist.view.CustomButton 
       android:clickable="false" 
       android:focusable="false" 
       android:id="@+id/btn1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_centerHorizontal="true" 
       android:layout_centerVertical="true" 
       android:layout_gravity="center" 
       android:background="@android:color/transparent" 
       android:text="btn1" 
       android:textAllCaps="false" 
       android:textColor="@color/txt_sub_title" 
       android:textSize="@dimen/txt_barselection_size" 
       app:FontEnum="regular" /> 

      <com.app.thelist.view.CustomTextView 
       android:clickable="false" 
       android:focusable="false" 
       android:id="@+id/txt1" 
       style="@style/RegularFont" 
       android:layout_centerVertical="true" 
       android:layout_toRightOf="@id/btn_my_drinks" 
       android:background="@drawable/border_gry_theme" 
       android:padding="@dimen/dimen_3" 
       android:text="00" 
       android:textColor="@color/txt_sub_title" 
       android:textSize="@dimen/txt_single_view_font" /> 

      <ImageView 
       android:id="@+id/iv_bootm_selecter2" 
       android:layout_width="match_parent" 
       android:layout_height="7dp" 
       android:layout_below="@id/btn1" 
       android:scaleType="fitXY" /> 

     </RelativeLayout> 
    </LinearLayout> 

Je l'ai fait id findViewby et cliquez auditeur ajouté à disposition relative .. mais ne pas prendre événement click .. cliquez sur la place événement génère alors que je suis En cliquant sur textview dans la disposition relative.

Quel pourrait être le isssue?

Merci.

+0

Souhaitez-vous que le texte et la disposition parentale soient cliquables ou que la mise en page soit relative? – Avi

+0

Pouvez-vous montrer votre code java? –

+0

Maintenant, après avoir ajouté false et focusable à mes contrôles internes à l'intérieur relativelayout, .. je dois cliquer sur twise au lieu de cliquer sur la disposition relative. –

Répondre

1

L'événement click est passé de l'enfant au parent. Si un enfant est cliquable, le premier enfant obtient l'événement click et si l'enfant n'est pas cliquable, l'événement click passe au parent.

Si le parent veut un événement click avant l'enfant, il doit alors remplacer onInterceptTouchEvent(MotionEvent ev); dans la classe de vue parent.

Mais si vous ne voulez pas aller avec cela alors une solution simple est faite enfant non-cliquable. Veuillez trouver le code XML édité dans votre cas.

<RelativeLayout 
     android:clickable="true" 
     android:id="@+id/rel1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:gravity="center" 
     android:focusable="true" 
     android:focusableInTouchMode="true"> 

     <com.app.thelist.view.CustomButton 
      android:id="@+id/btn1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:layout_centerVertical="true" 
      android:layout_gravity="center" 
      android:background="@android:color/transparent" 
      android:text="btn1" 
      android:clickable="false" 
      android:focusable="false" 
      android:textAllCaps="false" 
      android:textColor="@color/txt_sub_title" 
      android:textSize="@dimen/txt_barselection_size" 
      app:FontEnum="regular" /> 

     <com.app.thelist.view.CustomTextView 
      android:id="@+id/txt1" 
      style="@style/RegularFont" 
      android:layout_centerVertical="true" 
      android:layout_toRightOf="@id/btn_my_drinks" 
      android:background="@drawable/border_gry_theme" 
      android:padding="@dimen/dimen_3" 
      android:text="00" 
      android:clickable="false" 
      android:focusable="false" 
      android:textColor="@color/txt_sub_title" 
      android:textSize="@dimen/txt_single_view_font" /> 

     <ImageView 
      android:id="@+id/iv_bootm_selecter2" 
      android:layout_width="match_parent" 
      android:layout_height="7dp" 
      android:clickable="false" 
      android:focusable="false" 
      android:layout_below="@id/btn1" 
      android:scaleType="fitXY" /> 

    </RelativeLayout> 
+0

ainsi, vous avez fait .. clikable et focusable = "faux" chiild? C'est la meilleure solution? –

+0

Si vous ne voulez pas rendre l'enfant cliquable alors oui? – Avi

+0

Est-ce que cela ne fonctionne pas pour vous? – Avi

0

Essayez de faire votre Relative Layout focalisable:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/rl_simple_list_item_header" 
    android:orientation="horizontal" 
    android:focusable="true" 
    android:focusableInTouchMode="true" > 
+0

ne fonctionne pas bro .. –

+0

est-il une disposition parentale de cette disposition relative? Pouvez-vous montrer votre xml complet –