Establecer el elemento activado en ListView mediante programación

Tengo un ListView simple con algunos elementos que tienen setChoiceMode establecido en ListView.CHOICE_MODE_SINGLE , lo que significa que cuando toco un elemento, se resalta. De esta manera el usuario puede ver qué opción de menú (el ListView es un menú) fue elegido:

 listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); 

Sin embargo, quiero cambiar esa selección de código (no tocando). He intentado esto:

 listView.setSelection(0); 

Pero parece no tener ningún efecto. Probablemente porque la selección y la activación son conceptos diferentes. No hay ningún setActivated(int) disponible.

Puede seleccionar el elemento con el código siguiente:

 listView.setItemChecked(position, true); 

El uso de este método funcionó para mí

 listView.performItemClick(listView, position, listView.getItemIdAtPosition(position)); 

La documentación dice If in touch mode, the item will not be selected but it will still be positioned appropriately .

Por lo tanto, necesita utilizar ListView.setItemChecked(int position, boolean checked) method como listView.setItemChecked(position, true) para establecer la posición como seleccionada

  • Diálogo con vista de lista y mensaje
  • No se puede "desmarcar" el elemento de vista de lista
  • ¿Cómo puedo aumentar el tamaño de la vista de mi lista?
  • Parece que no se puede visualizar un ListView y un AdView al mismo tiempo
  • Android addHeaderView desaparece cuando no hay elementos en ListView
  • ¿Cómo cargar datos del servidor al listview cuando se desplaza?
  • Android deshabilitar los elementos de vista de lista
  • Java.lang.ClassCastException: android.widget.LinearLayout no se puede convertir en android.widget.ListView
  • Cómo obtener el valor de un elemento Listview que se hace clic en android?
  • ListView no aparece en MainActivty de mi aplicación (una imagen adjunta)
  • Columnas en ListView Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.