点击EditText外部,保存EditText内容

来源:互联网 发布:赛迪斯杨数据 编辑:程序博客网 时间:2024/06/05 11:12

可以在activity中复写dispatchTouchEvent方法

@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())) {                    v.setFocusable(false);                    v.clearFocus();                    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);                    imm.hideSoftInputFromWindow(v.getWindowToken(), 0);                    saveEditTextContent(v);                }            }        }        return super.dispatchTouchEvent(event);    }

saveEditTextContent()方法保存EditText的内容,如果在该activity中有多个EditText都需要这种操作,可以在saveEditTextContent()方法中通过每个EditText的id来判断

0 0
原创粉丝点击