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

  • Posición de PagerTabStrip dentro de ViewPager
  • Android.widget, textView no se puede convertir en android.widget, botón
  • desplazarse a la parte superior mueve el elemento de lista a la segunda posición
  • Android - Creación de listview con encabezados flotantes
  • Cómo leer el atributo de dimensión personalizado del código java
  • Después de Upate Android SDK - Diseño no se muestra
  • Cómo establecer el número de índice en la imagen de pin de mapa
  • ¿Debo crear una actividad para cada pantalla?
  • ¿Hay una necesidad de mantener ambos "layout" y "layout-sw400dp"?
  • Cómo capturar y guardar una imagen con cámara personalizada en Android?
  • Centrar verticalmente el texto de TextView en relación con su imagen drawableLeft
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.