在使用到EditText的时候,由于焦点冲突等原因,偶尔会遇到软键盘弹不出的情况,尝试使用以下方法解决一下。
final EditText editText = (EditText) view.findViewById(R.id.et_food_number);
editText.selectAll(); //默认选中EditText中的所有内容
editText.setFocusable(true); //设置可以获取焦点
editText.setFocusableInTouchMode(true); //触摸可以获取焦点? 什么鬼,我也不清楚……
editText.requestFocus(); //请求获取焦点(一般情况下,EditText是默认获取的)
下面这步也相当重要,或许就是这个原因搞得
//弹出键盘,默认900毫秒后弹出,避免数据未加载完,键盘弹不出来
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
InputMethodManager inputManager =
(InputMethodManager) editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText, 0);
}
},
900);