相关疑难解决方法(0)

如何清除ListView选择?

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选项,因为他们只能有一个选项.

  1. 用户从列表视图中选择一个选项
  2. 用户决定使用edittext创建自己的选项
  3. 当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)

java android android-listview android-xml

9
推荐指数
1
解决办法
1105
查看次数

标签 统计

android ×1

android-listview ×1

android-xml ×1

java ×1