首先让EditText所在的layout或者其他layout可以获得焦点。
可以让layout执行下面这两个方法:
.setFocusable(true);
.setFocusableInTouchMode(true);
也可以在xml文件中为layout添加这两个属性
android:focusable="true" android:focusableInTouchMode="true"
RelativeLayout layout= (RelativeLayout) myView.findViewById(R.id.register_layout);
layout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
InputMethodManager imm = (InputMethodManager) getActivity()
.getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getActivity().getWindow().getDecorView().getWindowToken(), 0);
return false;
}
});