java - 取消选中/取消选择 singleChoice ListView

标签 java android user-interface android-listview user-interaction

组合 - 列出并可选择写入未列出的值

<ListView
        android:id="@+id/category_choices"
        android:choiceMode="singleChoice"
        android:layout_width="400dp"
        android:layout_height="wrap_content">
</ListView>

<EditText
        android:id="@+id/other_please_specify"
        android:singleLine="true"    
        android:layout_height="wrap_content" android:layout_width="326dp"/>

数据绑定(bind)工作

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getContext(),
        android.R.layout.simple_list_item_single_choice, categories);
listView.setAdapter(adapter);

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
       public void onItemClick(AdapterView<?> myAdapter, View myView, int myItemInt, long mylng) {
           selectedItem = (String) (listView.getItemAtPosition(myItemInt));
        }
});

在 EditText 中输入任何文本时如何清除单选按钮选择?

我尝试了以下方法,但不起作用

editText.setOnKeyListener(new OnKeyListener() {
    @Override
    public boolean onKey(View view, int i, KeyEvent keyEvent) {
        if (selectedItem != null) {
            int checkedItem = listView.getCheckedItemPosition();
            listView.setItemChecked(checkedItem, false);
            selectedItem = null;
        }
        return false;
    }
});

最佳答案

您必须使用Text Watcher用于编辑文本以监听输入的文本:

editText.addTextChangedListener(new TextWatcher() {
        @Override
        public void onTextChanged(CharSequence s, int start, int before,
                int count) {
                         // do your stuffs here
        }

        @Override
        public void beforeTextChanged(CharSequence s, int start, int count,
                int after) {
        }

        @Override
        public void afterTextChanged(Editable s) {
            Log.e("TextWatcherTest", "afterTextChanged:\t" + s.toString());
        }
    });

关于java - 取消选中/取消选择 singleChoice ListView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11360991/

相关文章:

Java 9 HttpClient 发送多部分/表单数据请求

java - 将 Tree 转换为 newick 格式。 java

java - 如何检查 double 是否最多有 n 位小数?

java - 如何从日期字符串中获取分隔符?

android - 跟踪代码管理器能否用于移动应用分析中的人口统计报告?

python - Maya Python windowPref 命令不会更改窗口宽度,但表示可以更改

android - 通过 Intent 额外通过电子邮件发送图像时发生 transactiontoolargeException

android - 用测试类编译 jar

java - 什么决定了 System.out.println(args) 命令打印到哪里?

Java Swing 计算器