AutoCompleteTextView检测用户编辑的列表中的选定条目

Ryn*_*rdt 15 android list onkeydown autocompletetextview onitemclicklistener

我有一个AutoCompleteTextView用来从长列表中选择一个项目.用户应该只能从列表中选择预定的项目.他们不应该进入他们自己的项目.

我检查以确保他们只提交列表中的项目的方法是setOnItemClickListener用来触发布尔标志.问题是在布尔标志设置为true后,他们仍然可以编辑项目的选定文本.我需要检测到这一点并再次将布尔标志设置为false.我该怎么做呢.我已经看到了使用的建议onKeyDown,但我不确定如何实现这一点.

mas*_*ter 47

您可以添加文本更改的侦听器:

autoCompleteTextView.addTextChangedListener(new TextWatcher() {

    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {

    }

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

    }

    @Override
    public void afterTextChanged(Editable s) {

    }
});
Run Code Online (Sandbox Code Playgroud)

  • 如何区分下拉选择与用户使用此解决方案替换整个字符串? (2认同)