use*_*012 5 keyboard android autocomplete hide drop-down-menu
我有一个autocompletetextview,我已将其链接到Web服务,因此它在我输入时向我显示建议.现在,当用户开始滚动自动完成下拉列表时,如何隐藏软键盘?我浏览了网络,但没有找到任何方法来检测自动完成下拉列表中的触摸.
小智 6
我可以提出的最佳解决方案是,当用户开始滚动列表并再次显示键盘时,如果用户再次触摸文本视图,则隐藏键盘.这与大多数操作系统版本和设备非常相似,与您可以看到的其他解决方案不同,例如设置dropDownHeight的高度.
下面是用户开始滚动时隐藏键盘的示例代码.基本上,您需要在AutoCompleteTextView的适配器中创建一个触摸侦听器.
public View getView(final int position, View convertView, ViewGroup parent) {
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ViewHolder holder;
if (convertView == null) {
convertView = inflater.inflate(viewResourceId, parent, false);
holder = new ViewHolder();
init(convertView, holder);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
convertView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
InputMethodManager imm = (InputMethodManager) getContext()
.getSystemService(
Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(
searchView.getWindowToken(), 0);
}
return false;
}
});
setView(position, holder);
return convertView;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6536 次 |
| 最近记录: |