En mi aplicación quiero hacer algo similar a la aplicación de gmail en tabletas, en la izquierda para tener la lista de elementos y en el derecho a tener un fragmento con el contenido de ese elemento, como para la aplicación de Gmail este contenido se está descargando después de la selección. Después de hacer clic en un elemento, quiero que permanezca resaltado hasta que, por supuesto, cambie la selección. Llegué a un punto donde esto funciona, pero solo si hago clic dos veces en el mismo elemento, entonces primero hago clic, la selección funciona y luego el elemento vuelve a su estado 'predeterminado' y si vuelvo a hacer clic en él, el selector (para estado seleccionado) es visible.Android: establecer lista ver el elemento como "seleccionado" (resaltado)
Esto es lo que tengo hasta ahora:
1) El selector (listitem_background.xml)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/solid_white" android:state_pressed="false" android:state_selected="false"/>
<item android:drawable="@drawable/listitem_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/listitem_focused" android:state_selected="true"/>
</selector>
2) Para la disposición lineal de la parte superior del elemento de lista:
android:background="@drawable/listitem_background"
(intenté configurar esto como listselector, también)
3) Esta es la lista de visualización:
<ListView
android:id="@+id/my_list_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:choiceMode="singleChoice"
android:dividerHeight="1dp"
android:drawSelectorOnTop="true"
android:fadeScrollbars="true"
android:fastScrollEnabled="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:scrollbarFadeDuration="100"
android:scrollbars="vertical" />
4) En la parte de código Traté de jugar con esto:
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
view.setSelected(true);
...
}
[EDIT] De hecho, me he dado cuenta de que la selección se pierde después de la confirmación del fragmento de la derecha lado de la pantalla. Si no cometo el fragmento funciona como un encanto ... Creo que necesito algo como esto en el selector:
<item android:drawable="@drawable/listitem_focused" android:state_activated="true" android:state_focused="false"/>
Pero, obviamente, no esta ...
gracias. esto funcionó para mí :) –
no funciona para api 8 –