android在edittext外面打开edittext

时间:2015-11-13 07:33:28

标签: android android-edittext

我现在正在尝试这个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 );
}

1 个答案:

答案 0 :(得分:0)

我认为这只是最后在EditText上调用requestFocus()的问题。