Как предотвратить отображение клавиатуры в EditText на Touch? - PullRequest
2 голосов
/ 17 января 2012

Я хочу сделать следующее: у меня есть EditText, и когда пользователь щелкает по нему, пользователь может перемещать позицию каретки, так же как и EditText, но без отображения клавиатуры.

Я пробовал с setInputType (0); и он полностью скрывает клавиатуру, но курсор не появляется.

Есть ли способ сделать это?

Спасибо в

Ответы [ 3 ]

4 голосов
/ 26 августа 2013

У меня работают следующие трюки.Каретка и программная клавиатура активны в событии onTouch из editText.Так что вызывайте сенсорное событие, а затем скрывайте клавиатуру вручную.

myEditText.setOnTouchListener(new OnTouchListener() {

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        final boolean ret = dialerNumber.onTouchEvent(event);
        final InputMethodManager imm = ((InputMethodManager) myContext
                .getSystemService(Context.INPUT_METHOD_SERVICE));
        try{
            imm.hideSoftInputFromWindow(myEditText.getApplicationWindowToken(), 0);
        }catch(Exception e){
            e.printStackTrace();
        }
        return ret;
});
0 голосов
/ 17 января 2012

Это работает?

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN)
0 голосов
/ 17 января 2012

Я не пытался полностью отключить клавиатуру, но перед использованием метода InputMethodManager.hideSoftInputFromWindow я скрыл программную клавиатуру вручную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...