[英]Android: don't show soft keyboard in AutocompleteTextView
我有一个AutocompleteTextView
来选择使用两个不同适配器的火车站:
适配器1 :包含最近和附近电台的固定列表( 不需要软键盘即可通过键入进行过滤)
适配器2 :将光标包含到工作站的sqlite数据库中( 确实需要软键盘才能通过键入进行过滤)
因此,我想防止在AutocompleteTextView获得焦点并使用ADAPTER 1时显示软键盘,但是我还没有找到解决方法。
我当前正在使用它,但是软键盘不断弹出:
InputMethodManager imm = (InputMethodManager)mContext.getSystemService(Context.INPUT_METHOD_SERVICE); imm.hideSoftInputFromWindow(getApplicationWindowToken(), 0);
我终于找到了方法!
在onFocusChange上,首先将焦点设置为其父对象,然后调用showDropDown()
以显示下拉列表。 这样,键盘不会弹出,因为AutocompleteTextView
没有焦点!
setOnFocusChangeListener(new View.OnFocusChangeListener() {
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus) {
setAdapter(Adapter1);
((ViewGroup)getParent()).setFocusableInTouchMode(true);
((ViewGroup)getParent()).requestFocus();
showDropDown();
}
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.