如果Android AutoCompleteTextView没有给出正确的结果,可能有以下几种解决方法:
ArrayAdapter adapter = new ArrayAdapter<>(this, android.R.layout.simple_dropdown_item_1line, data);
AutoCompleteTextView autoCompleteTextView = findViewById(R.id.autoCompleteTextView);
autoCompleteTextView.setAdapter(adapter);
AutoCompleteTextView autoCompleteTextView = findViewById(R.id.autoCompleteTextView);
autoCompleteTextView.setFilters(new InputFilter[]{new InputFilter.LengthFilter(20)}); // 设置长度限制
autoCompleteTextView.setThreshold(1); // 设置输入多少字符后开始过滤
autoCompleteTextView.setAdapter(adapter);
AutoCompleteTextView autoCompleteTextView = findViewById(R.id.autoCompleteTextView);
autoCompleteTextView.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
// 在文本改变之前的逻辑
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// 在文本改变时的逻辑
}
@Override
public void afterTextChanged(Editable s) {
// 在文本改变之后的逻辑
}
});
autoCompleteTextView.setAdapter(adapter);
AutoCompleteTextView autoCompleteTextView = findViewById(R.id.autoCompleteTextView);
autoCompleteTextView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView> parent, View view, int position, long id) {
// 处理选项选择事件
}
});
autoCompleteTextView.setAdapter(adapter);
通过检查数据源、过滤器、文本改变监听器和选项选择监听器,可以找到并解决AutoCompleteTextView没有给出正确结果的问题。