Haga clic en eventos en SlidingPaneLayout

Estoy tratando de usar el SlidingPaneLayout. La vista izquierda es un ListFragment y la vista derecha es una vista de detalle. El diseño se muestra correctamente y puedo deslizarlo. Pero si la vista de detalle está delante de la lista y hago clic en ella, la lista en segundo plano recibe el clic.

Mi diseño se ve así:

<?xml version="1.0" encoding="utf-8"?> <android.support.v4.widget.SlidingPaneLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/sliding_pane_layout" android:layout_width="fill_parent" android:layout_height="fill_parent"> <fragment android:name="net.name.multiremote.RemoteListFragement" android:id="@+id/fragment_remote_list" android:layout_width="580dp" android:layout_height="match_parent" android:layout_gravity="left" /> <fragment android:id="@+id/fragment_remote" android:name="net.name.multiremote.RemoteFragment" android:layout_width="850dp" android:layout_height="match_parent" android:layout_weight="1" /> </android.support.v4.widget.SlidingPaneLayout> 

Utilizo este código para configurar el oyente de clics en el ListFragment

 @Override public void onListItemClick(ListView list, View view, int position, long id) { iItemClickListener.onListFragmentItemClick(view, position); } 

¿Como puedo resolver esto?

Simplemente añada android:clickable="true" al segundo Fragment o FrameLayout en el SlidingPaneLayout .

Locutus estaba en lo correcto. Sea cual sea el fragmento en la parte superior, agregue la propiedad

 android:clickable="true" 

Así que no pasará el acontecimiento del tecleo al fragmento abajo.

Gracias a todos por ahorrar mi tiempo. Aquí está mi código. He utilizado una disposición sobreescrita pero esto trabaja en la disposición de cristal deslizante regular también. Mira el segundo fragmento, he agregado la propiedad true clicable.

 <com.ironone.streaming.application.MySlidingPaneLayout android:id="@+id/pane" android:layout_width="match_parent" android:layout_height="wrap_content" > <FrameLayout android:id="@+id/pane1" android:layout_width="match_parent" android:layout_height="match_parent" /> <FrameLayout android:id="@+id/pane2" android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" /> </com.ironone.streaming.application.MySlidingPaneLayout> 

Tengo el mismo problema, creo que es una combinación de la versión "v4" de Fragment y ListFragment y el SlidingPanelLayout … Si cambia la importación de "v4" para importar normal "android.app.ListFragment"; Y "import android.app.Fragment"; Todo funciona.

Lo siento por mi inglés

  • Vista de imagen de Android
  • Botones flotantes de Android sobre una vista
  • Android.widget.LinearLayout no se puede convertir en android.widget.TextView
  • Cómo hacer que SearchView siempre se expande en android?
  • Refrescante adaptador al tirar de ListView en android
  • Android | CardView se mantiene por encima de TextView
  • ¿Cuál es el propósito de null en addToBackStack (null)?
  • Cómo configurar el fondo de la barra de herramientas de contracción con el comportamiento personalizado para adaptarse a toda la pantalla
  • En Android, ¿cómo posiciono una imagen encima de otra para que parezca una insignia?
  • Esperar a que la otra vista final de la animación
  • Cómo implementar indicador de progreso circular alrededor de un botón?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.