¿Cómo borro la selección ListView?
TL; DR: Usted elige una opción de (a) mi vista de lista. Luego, cambia de opinión y escribe algo en (b) mi texto de edición. ¿Cómo borro su selección de vista de lista y solo muestro su texto de edición? (y viceversa)
Tengo una aplicación con una vista de lista de opciones, así como un texto de edición para crear una opción propia. Necesito que el usuario elija o cree una opción, pero no ambas. Aquí hay un dibujo de mi diseño:
Cada vez que el usuario selecciona una opción de la vista de lista, la configuro como "seleccionada" haciéndola verde, así:
<?xml version="1.0" encoding="utf-8" ?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_selected="true"
android:drawable="@color/colorPrimary"/>
<item
android:state_selected="false"
android:drawable="@color/windowBackground" />
</selector>
(Esto se establece como fondo de mi vista de lista)
Problema: Quiero anular la selección de la opción de vista de lista si el usuario decide escribir su propia opción, ya que solo puede tener una opción.
El usuario selecciona una opción de la vista de listaEl usuario decide que quiere crear su propia opción usando el texto de ediciónLa opción de vista de lista no está seleccionada cuando comienzan a escribir su propiaHe intentado hacer elsiguiendo, pero nada anula la selección.
e.setOnEditorActionListener(new TextView.OnEditorActionListener()
{
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
for(int i=0; i<=5; i++){
listView.setItemChecked(i, false);
}
listView.clearChoices();
listView.requestLayout()
adapter.notifyDataSetChanged()
}
}
Una situación muy desconcertante, ¡se agradece cualquier ayuda!
Editar: aquí está el diseño del texto de edición:
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/textView4"
android:layout_alignBottom="@+id/textView4"
android:layout_toEndOf="@+id/textView4"
android:layout_toRightOf="@+id/textView4"
android:color="@color/colorPrimary"
android:imeOptions="actionDone"
android:inputType="text"
android:textColor="@color/textColorPrimary"
android:textColorHint="@color/colorPrimary" />
Editar: aquí está el diseño de la vista de lista:
<ListView
android:id="@+id/listview"
android:layout_width="wrap_content"
android:layout_height="250dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_below="@+id/toolbar"
android:background="@drawable/bg_key"
android:choiceMode="singleChoice"
android:listSelector="@color/colorPrimary">
</ListView>