Cómo deshabilitar el clic en ListView en android?

Tengo un ListView que estoy poblando con valores de mi base de datos. Si la base de datos está vacía, estoy configurando el primer elemento de ListView en "Sin datos". Quiero desactivar hacer clic en este elemento. He utilizado ArrayAdapter. Intenté hacer areAllItemsEnabled, isEnabled falso, pero era inútil. Incluso si establezco el IsClickable de ListView y setEnabled a false, no sirve de nada. Y puse el código para el OnItemClickListener en la condición del otro, incluso eso no para el artículo de la lista de ser clickable. ¿Alguien tiene una solución alternativa? ¡Gracias!

En su función personalizada ArrayAdapter isEnabled para devolver false:

@Override public boolean isEnabled(int position) { return false; } 

Siempre funciona para mí.

Todo lo más fácil! List.setEnabled (false)

Puede establecer la Vista vacía como se muestra y se manejará automáticamente:

  <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="8dp" android:paddingRight="8dp"> <ListView android:id="@android:id/list" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#00FF00" android:layout_weight="1" android:drawSelectorOnTop="false"/> <TextView android:id="@android:id/empty" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FF0000" android:text="No data"/> </LinearLayout> 

Cree el adaptador para esa lista, y allí substituya este método

 public boolean isEnabled(int position); 

A continuación, devolver false cuando desee desactivar el clic

Tal vez usted podría usar una instrucción if para comprobar el contenido de la entrada listview en el OnClick, si contiene 'No hay datos' no hacer nada, sino hacer lo habitual

Me gustó esto de acuerdo a mi requisito espero que pueda ayudarle a algunos cómo

 @Override public boolean isEnabled(int position) { if(data.get(position).isClickable==false) { return false; } return super.isEnabled(position); } 
  • Cómo personalizar listview con baseadapter
  • Actualizar ListView después de eliminar de la base de datos
  • SetOnItemLongClickListener y setOnItemClickListener no se activan cuando se utiliza arrastre-ordenar-listview (DSLV)
  • Necesita ayuda para implementar 47degree Android-SwipeListView
  • Índice de matriz de Android ListView fuera de límites después del filtro
  • Android listview fila eliminación de animación
  • Eliminar divisor después de un pie de página en un ListView
  • Test Robolectric ListView no se actualiza después de cambios de valor en el adaptador
  • ¿Cómo puedo hacer que un elemento específico del cajón de navegación aparezca seleccionado?
  • Filtrado personalizado en Android con ArrayAdapter
  • Funcionalidad de búsqueda de Android utilizando listview desde el archivo JSON (Hard)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.