Fije el foco en cualquier artículo de listview en android

Tengo un listview que contiene textviews como sus elementos.

  1. Ahora quiero que el primer elemento de la lista se enfoque automáticamente cuando inicie la aplicación
  2. ¿Cómo puedo fijar el foco en cualquier artículo de la lista cuando hago clic en la otra visión por ejemplo un botón?

El ajuste de la selección y el ajuste del enfoque son dos cosas diferentes. Si usted desea apenas setSelection a un cierto artículo entonces usted puede utilizar debajo del código.

mListView.setSelection(position); 

Pero esto definitivamente no significa que el Listview está enfocado. Para enfocarte tienes que usar

  mListView.requestFocus(); 

Para cambiar el enfoque al hacer clic en un botón, puede colocar el código en onClick() del botón.

ListView tiene un método setSelected que toma el índice del elemento en la lista.

Supongo que estaba en la misma situación. Quería ser capaz de controlar el enfoque de la lista de programación mediante botones.

Una solución es tratar con el setFocusableInTouchMode , pero nunca he logrado que funcione.

La otra solución es olvidarse del enfoque y utilizar un checkview verificable. Primero establezca su listview en "modo de elección única" en XML o en java: Mylistview.setChoiceMode(1)

Entonces usted podrá comprobar cualquier artículo que usted quiera con Mylistview.setItemChecked(position, true)

Por lo tanto, cuando almuerza la aplicación (OnCreate), utilice Mylistview.setItemChecked(0, true) para comprobar su primer elemento.

Luego, si desea que su botón seleccione el siguiente elemento por ejemplo, utilice:

 Mylistview.setItemChecked(Mylistview.getCheckedItemPosition() + 1, true) 

Puede especificar la apariencia cuando el elemento está marcado o no y hay diferentes listas de reproducción pre-construidas chekable.

Si desea más explicaciones, consulte mi publicación

Para mí el problema fue resuelto por

 listView.setItemsCanFocus(true); 
  1. Tu ListView debe ser así:

     <ListView android:id="@+id/my_list" android:layout_width="wrap_content" android:layout_height="200dp" android:layout_margin="10dp" android:choiceMode="none" android:focusable="true" android:fadeScrollbars="false"> <requestFocus /> </ListView> 
  2. mListView.setSelection(3); //or any other number

  • Cómo mostrar ListView en forma de tabla en android
  • Actualizar listview dinámicamente con el adaptador
  • Cómo desplazar un ListView en android programatically a hasta gesto hacia abajo
  • Cómo añadir un botón debajo de un listview en android
  • Android ListView con botón de eliminación
  • ¿Cómo puedo saltar a un elemento de una vista de lista en android?
  • Cómo configurar onContextItemClickListener para un menú contextual de ListView?
  • Problema de cuadro de verificación de ListView en CustomAdapter
  • Obtener un evento cuando un elemento ListView está visible o no
  • ListView cambia el elemento entre marcado y desmarcado - Android
  • Llamar al método setEmpty de ListView no funciona (no se muestra nada cuando la lista está vacía)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.