Здесь - это сайт, который даст вам то, что вам нужно.
В качестве резюме, он предоставляет ссылки на InputMethodManager
и View
от разработчиков Android. Он будет ссылаться на getWindowToken
внутри View
и hideSoftInputFromWindow()
для InputMethodManager
Лучший ответ дан в ссылке, надеюсь, это поможет.
EDIT
Из приведенной выше ссылки приведен пример использования события onTouch:
editText_input_field.setOnTouchListener(otl);
private OnTouchListener otl = new OnTouchListener() {
public boolean onTouch (View v, MotionEvent event) {
return true; // the listener has consumed the event
}
};
Вот еще один пример с того же сайта. Это утверждает, что работает, но кажется плохой идеей, поскольку ваш EditBox
равен NULL
, он больше не будет редактором:
MyEditor.setOnTouchListener(new OnTouchListener(){
@Override
public boolean onTouch(View v, MotionEvent event) {
int inType = MyEditor.getInputType(); // backup the input type
MyEditor.setInputType(InputType.TYPE_NULL); // disable soft input
MyEditor.onTouchEvent(event); // call native handler
MyEditor.setInputType(inType); // restore input type
return true; // consume touch event
}
});
Надеюсь, это направит вас в правильном направлении