1

我在 Android 中有自动完成框,我正在用从服务器检索到的一些列表的名称填充这个自动完成框。

假设我有 ABC、XYZ、PQR、ABCC、ABCD 等......现在当我输入 AB 时的第一个建议:它应该给我 ABC、ABCC、ABCD。现在我选择了 ABC .. (以 ; 分隔的多值自动完成)现在当我写 ABC 时:它再次给出 ABC、ABCC、ABCD ..

我想要的结果:应从自动完成列表中删除 ABC 选择。所以下一个建议应该是ABCC,只有ABCD不是ABC。

请帮帮我

提前致谢..

以下评论中的代码:

myAutoComplete = (MultiAutoCompleteTextView) findViewById(R.id.talksender);
myAutoComplete.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
myAutoComplete.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_dropdown_item_1line, names));
4

1 回答 1

5
  1. 您需要跟踪所选项目。
  2. 创建过滤列表时,您需要按输入到 EditText 中的字符串和已选择的项目进行过滤。

要过滤您的 ArrayAdapter,您需要:

  1. 创建一个Filter基于 EditText 输入和已选择的项目执行过滤的实现。
  2. 覆盖 ArrayAdapter 的getFilter() 方法以返回您的自定义Filter实现
于 2013-09-03T06:45:07.723 回答