studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android listview clickable

para - manual de programacion android pdf



¿Cómo deshabilitar hacer clic en ListView en Android? (6)

En su Custom ArrayAdapter use la función isEnabled para devolver falso:

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

siempre funciona para mi

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 como "Sin datos". Quiero desactivar haciendo clic en este elemento. He usado ArrayAdapter. Intenté hacer areAllItemsEnabled, isEnabled false, pero no sirvió. Incluso si configuro ListView''s isClickable y setEnabled en false, no sirve de nada. Y puse el código para OnItemClickListener en la condición else, incluso eso no impide que se pueda hacer clic en el elemento de la lista. ¿Alguien tiene una solución alternativa? ¡Gracias!


Me gustó esto de acuerdo con mi requerimiento espero que pueda ayudarlo de alguna manera

@Override public boolean isEnabled(int position) { if(data.get(position).isClickable==false) { return false; } return super.isEnabled(position); }


Puede configurar 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>


Quizás podría usar una instrucción if para verificar el contenido de la entrada de la vista de lista en OnClick, si contiene ''Sin datos'' no hacer nada, sino hacer lo usual


crear Adapter para esa lista, y anular este método

public boolean isEnabled(int position);

luego devuelve false cuando quiere deshabilitar el clic


todo más fácil! list.setEnabled (false)