programacion - Deshabilitar Click Event en los elementos de Android ListView
manual de android en pdf (9)
Administre el evento Click usando flags.
Mientras su reproductor de medios se está ejecutando, haga clic en falso haciendo clic en este método.
setClickable(false);
Cuando su reproductor multimedia se detiene o no se ejecuta o en el juego completo establece el indicador al valor predeterminado.
setClickable(true);
Intento desactivar varios eventos de clic en la vista de lista, decir después de presionar primer clic algunos medios se reproducen desde el servicio web, mientras se reproduce, es necesario hacer clickable==false
otros elementos clickable==false
, después de reproducir los medios, se puede hacer clic en otros elementos de la lista .
Lo que intento es llamar a setClickable(true)
y setClickable(false)
en el objeto ListView
.
Agregue esto al xml
android:listSelector="@android:color/transparent"
Cree su propia subclase de ArrayAdapter que tenga AreAllItemsEnabled () return false, y defina isEnabled (int position) para devolver un valor falso para un elemento dado en los que desee deshabilitar.
En su método personalizado ArrayAdapter overide isEnabled como sigue
@Override
public boolean isEnabled(int position) {
return false;
}
O de una manera simple para anular el registro y registrar OnItemClickListener puede ser una mejor idea.
Si lo que desea es solo para marcar los elementos en los que se puede hacer clic y mostrar el color del selector apropiado, solo use la línea
android: listSelector = "@ android: color / transparent"
en tu lista en el archivo de diseño (xml)
before onCreate:
private long mLastClickTimeListViewItem = 0;
Para evitar clics múltiples en elementos ListView
Después de onCreate dentro del oyente para listView, en mi caso lo siguiente:
listView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (SystemClock.elapsedRealtime() - mLastClickTimeListViewItem < 1000){
return ;
}
mLastClickTimeListViewItem = SystemClock.elapsedRealtime();
//Do your remaining code magic below...
....
....
} // end of onItemClick method
}); // end of setOnItemClickListner
crear Adapter para esa lista, y anular este método
public boolean isEnabled(int position);
luego devuelve false
cuando quiere deshabilitar el clic
las respuestas mencionadas no me funcionaron, así que utilicé list.setEnabled(false)
Me funcionó