我现在正在尝试这个2天,但我没有设法让它发挥作用。我想当用户点击edittext外面的屏幕来调用edittext时,我设法打开键盘,但如果你想写,你必须单击edittext,这会使键盘关闭并重新打开......
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
View v = getCurrentFocus();
if ( v instanceof EditText) {
Rect outRect = new Rect();
v.getGlobalVisibleRect(outRect);
if (!outRect.contains((int)event.getRawX(), (int)event.getRawY())) {
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
} else {
InputMethodManager inputMethodManager=(InputMethodManager)getSystemService(Activity.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInputFromWindow(view.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0);
}
}
}
return super.dispatchTouchEvent( event );
}
答案 0 :(得分:0)
我认为这只是最后在EditText上调用requestFocus()的问题。