Control de enfoque en un ListView

El contexto: Quiero tener un ListView que no recibirá el foco (por ejemplo, no resaltará la fila cuando el usuario la toque). Sin embargo, cada widget de fila tiene su propio OnClickListener. Esto es lo que especifico en el diseño xml:

android:choiceMode="none" android:focusableInTouchMode="false" android:focusable="false" 

El ListView todavía se comporta exactamente igual. ¿Podría alguien explicar por favor

  1. La interrelación entre los tres
  2. ¿Cuál es la manera correcta de crear un ListView que no recibe el enfoque?

TIA.

La lista que recibe el enfoque es diferente a la fila seleccionada que no se destaca. La lista obtiene el foco siempre que un usuario está en él. Lo mejor que un ListView puede hacer es reportar un int para lo que el usuario ha seleccionado. No estoy seguro de cómo cada widget de fila tiene su propio ClickListener. No hay widgets de fila que conozco. El onListItemClick pertenece al ListView.

No he sido capaz de averiguarlo aún, pero entre android:listSelector y android:background y el ajuste de los canales alfa creo que habría una manera de hacer una selección de aspecto como una fila no seleccionados.

android:listSelector="#8fff" hace tan solo el primer plano cambia en la selección.

Parece que android elige el primer plano no seleccionado por su cuenta, lo que está haciendo esto duro. Espero que esto ayude.

Aunque usted especificó en el xml usted podría intentar especificar en código también. Aunque no estoy seguro de que puede establecer una lista para no se puede enfocar y todavía tienen la lista se puede desplazar y es clicable.

después de su setContentView …

 myListView.setFocusableInTouchMode(false); 

Usted podría intentar y heredar de la visión también y después agregar un pequeño código de la depuración en el interino para ayudarle a encontrar cuando la lista tiene realmente foco.

  myListView.setOnFocusChangeListener(new OnFocusChangeListener(){ public void onFocusChange(View v, boolean hasFocus) { v.setBackgroundColor(hasFocus ? Color.GRAY : Color.BLACK); } }); myListView.setClickable(true); 

No se puede hacer con un RadioButton que se selecciona cuando el usuario toca una fila en la lista?

Lo que sigue es un extracto de mi propio código.

 // Create an adapter with a simple list item with single choice. adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_single_choice, categories); // Set the adapter to your list listView.setAdapter(adapter); 

¡Aclamaciones!

  • Directorio para almacenar archivos de audio en Android
  • RTSP Stream en VideoView en Aplicación para Android
  • Android: usar el reproductor de video por defecto
  • El archivo Dex superó los 64 KB después de agregar Google Play Services.
  • Cómo reproducir un archivo de vídeo en android?
  • ¿Cómo comprobar si el archivo es compatible con videoview android por código?
  • Cómo reproducir video de YouTube en mi aplicación de Android?
  • Cómo reproducir archivos mp3 utilizando sonic NDK en Android?
  • Cómo reproducir video de YouTube en mi aplicación de Android?
  • Android, Java - Renderización de un vídeo utilizando marcos de mapa de bits para invertir un vídeo (Xuggler)
  • Android reproducir problema de vídeo: Device Specific
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.