Android: ListView selecciona el elemento y resalta el elemento seleccionado mediante programación
Me gustaría seleccionar un elemento de un ListView de forma predeterminada (cuando se crea la vista). Y quiero hacerlo gramaticalmente. He intentado la respuesta de esta pregunta , pero no funciona para mí.
Tengo los siguientes …
- Android ListView Deslizar hacia la derecha y hacia la izquierda para aceptar y rechazar
- Android ListView - pequeña línea entre los elementos
- Iniciar nueva actividad en el elemento de vista de lista de clics
- Poner un anuncio nativo de AdMob en una listaVer
- Cómo añadir un botón debajo de un listview en android
MainActivity.java
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); arrayList = new ArrayList<String>(); arrayList.add("1"); arrayList.add("2"); arrayList.add("3"); arrayList.add("4"); arrayList.add("5"); arrayList.add("6"); arrayList.add("7"); adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, arrayList); listView = (ListView) findViewById(R.id.listView); listView.setAdapter(adapter); listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE); //listView.setSelection(3); listView.setItemChecked(3, true); }
activity_main.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent" android:listSelector="@drawable/list_item_selector" android:drawSelectorOnTop="true" /> </LinearLayout>
list_item_selector.xml
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_activated="true" android:state_pressed="true" android:state_selected="true" android:drawable="@color/red" /> <item android:state_activated="false" android:state_pressed="false" android:state_selected="false" android:drawable="@color/black" /> </selector>
He intentado muchas combinaciones de los siguientes métodos en .java
listView.setSelection(i); listView.setItemChecked(i, true); lv_stakeoutPoints.performClick(); listViewAdapter.notifyDataSetChanged();
Pero ninguna de las combinaciones funciona correctamente. ¿Alguien soluciona este problema?
(Por cierto, ¿por qué es tan difícil hacer esto?)
FYI, estoy desarrollando con Android 4.1.2
- Cómo establecer pull up para actualizar SwipeRefreshLayout
- Android: no puedo actualizar / volver a dibujar un ListView
- No se puede "desmarcar" el elemento de vista de lista
- ¿Cómo notificar a DataSetChange () del método onitemclick ()?
- Agregar una fila a un ListView que muestre "Cargando" mientras se descarga la información. Como en el mercado
- ¿Cómo crear este tipo de Listview en Android?
- Android deshabilitar los elementos de vista de lista
- Android change listview item color del texto
- EGLImages con renderbuffer como hermano de origen y textura como hermano objetivo
- Extraño accidente con los últimos servicios de Google Play