Android 如何将MultiAutoCompleteTextView的值限制为仅来自适配器的项?

Android 如何将MultiAutoCompleteTextView的值限制为仅来自适配器的项?,android,multiautocompletetextview,Android,Multiautocompletetextview,这是我正在使用的代码: MultiAutoCompleteTextView selectedCities = (MultiAutoCompleteTextView)findViewById(R.id.citiesSelected); String[] cities = getResources().getStringArray(R.array.cities); ArrayAdapter<String> adapter = new ArrayAdapter<String>

这是我正在使用的代码:

MultiAutoCompleteTextView selectedCities = (MultiAutoCompleteTextView)findViewById(R.id.citiesSelected);

String[] cities = getResources().getStringArray(R.array.cities);

ArrayAdapter<String> adapter = new ArrayAdapter<String> (this,android.R.layout.simple_list_item_1,cities);
        selectedCities.setAdapter(adapter);
        selectedCities.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
MultiAutoCompleteTextView selectedCities=(MultiAutoCompleteTextView)findViewById(R.id.cities selected);
字符串[]cities=getResources().getStringArray(R.array.cities);
ArrayAdapter=新的ArrayAdapter(这是android.R.layout.simple\u list\u item\u 1,cities);
selectedCities.setAdapter(适配器);
selectedCities.setTokenizer(新的MultiAutoCompleteTextView.CommaTokenizer());
但是当我想添加项目时,可以添加列表中没有的任何字符串

我不想将Alert Dialog与MultiChoiceItems一起使用,因为我的列表中有200多个项目


谢谢

我知道这是一个老问题,但如果你仍然有这个问题,你至少可以用两种方法来解决:

  • 您可以添加onFocusChangeListener,然后执行 这里面的验证。
  • 您可以让您的活动实现
    TextWatcher
    和 然后覆盖: 关于最后一个问题,请看以下问题:

    @Override
    public void afterTextChanged(Editable s) {
            // validation code goes here
    }