如何解决Android AutoCompleteTextView 在输入建议列表时重叠
我正在尝试使用 AutocompleteTextview 来实现 HashTag 和提及。它工作正常。
根据输入的关键字,我在 AutocompleteTextview 中设置适配器。为此,我正在使用 TextWatcher。它正在显示结果。直到这个工作正常。但是当我输入时,建议列表是重叠的。
在图像中,黑色阴影是因为多个页面。当 AutocompleteTextview 中的文本发生变化时,页数会增加。
autoCompleteTextview.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s,int start,int count,int after) {
}
@Override
public void onTextChanged(CharSequence s,int before,int count) {
if (s.toString().startsWith("@")) {
setupTagUserAutocomplete(data);
}
else if (s.toString().startsWith("#")) {
setupHashAutocomplete(list);
}
}
@Override
public void afterTextChanged(Editable s) {
}
});
如何避免这种情况?
解决方法
您不必使用 TextWatcher
。每次更改文本时,使用 TextWatcher
都会创建一个新的建议列表。
为此,您必须使用适配器。
这就是它创建这么多建议列表的原因。
您必须创建自定义适配器,因为存在两个条件(@ 和 #)的自定义要求。
这里有一个指向 AutoCompleteTextView
教程的链接供您阅读。我希望你觉得这个有用。
https://www.studytonight.com/android/autocomplete-textview
在上面的教程中参考步骤,但不是 ArrayAdapter
创建一个自定义的。在该适配器内,您可以根据文本获得该列表。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。