TL; DR:您从(a)我的列表视图中选择一个选项.然后,你改变主意并在(b)我的编辑文本中输入内容.如何清除列表视图选择并仅显示您的编辑文本?(反之亦然)
我有一个带有选项列表视图的应用程序以及一个用于创建自己选项的edittext.我需要用户选择或创建一个选项,但不能同时选择或创建两个选项.这是我的布局图:
每当用户从列表视图中选择一个选项时,我将其设置为"已选择",方法是将其设置为绿色,如下所示:
<?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>
Run Code Online (Sandbox Code Playgroud)
(这被设置为我的listview的背景)
问题:如果用户决定输入他们自己的选项,我想取消选择listview选项,因为他们只能有一个选项.
我尝试过以下操作,但没有任何选择.
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()
}
}
Run Code Online (Sandbox Code Playgroud)
一个非常令人费解的困境,任何帮助表示赞赏!
编辑:这是edittext的布局:
<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" />
Run Code Online (Sandbox Code Playgroud)
编辑:这是listview的布局:
<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>
Run Code Online (Sandbox Code Playgroud)