Android-AutoCompleteTextView是Android开发中的一个控件,它是一个可自动完成输入的文本框,当用户输入时,它会显示一个下拉列表,提供与输入内容相关的建议。
针对防止Android-AutoCompleteTextView-Dropdown在其外部和任何其他字段上单击时不显示的问题,可以通过以下方式解决:
autoCompleteTextView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
// 点击AutoCompleteTextView以外的区域,隐藏下拉列表
if (event.getRawX() < autoCompleteTextView.getLeft() ||
event.getRawX() > autoCompleteTextView.getRight() ||
event.getRawY() < autoCompleteTextView.getTop() ||
event.getRawY() > autoCompleteTextView.getBottom()) {
autoCompleteTextView.dismissDropDown();
}
}
return false;
}
});
View overlay = findViewById(R.id.overlay);
overlay.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
autoCompleteTextView.dismissDropDown();
return false;
}
});
在布局文件中添加一个覆盖层的View:
<View
android:id="@+id/overlay"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent" />
这样,当用户点击AutoCompleteTextView以外的区域或覆盖层时,下拉列表会被隐藏起来,从而解决了不显示的问题。
推荐的腾讯云相关产品:腾讯云移动推送(https://cloud.tencent.com/product/umeng_push)可以用于实现移动端消息推送功能,适用于Android和iOS平台,可以帮助开发者快速实现消息推送功能,提升用户体验。
领取专属 10元无门槛券
手把手带您无忧上云