Java 取消选中/取消选择单选列表视图 Combo-具有写入未列出值的选项的列表

Java 取消选中/取消选择单选列表视图 Combo-具有写入未列出值的选项的列表,java,android,user-interface,android-listview,user-interaction,Java,Android,User Interface,Android Listview,User Interaction,您必须使用“编辑文本”来侦听输入的文本: editText.addTextChangedListener(new TextWatcher() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // do your stuffs here }

您必须使用“编辑文本”来侦听输入的文本:

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());
        }
    });

如果在编辑框中输入任何文本,KeyListener是否正在调用?
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.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;
    }
});
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());
        }
    });