2016-02-25 2 views
2

У меня есть несколько текстов и кнопок редактирования на экране, при каждом нажатии кнопки есть некоторые проверки, если проверка прошла успешно, тогда мне нужно скрыть клавиатуру. Я пробовал столько кода, но ничего не работает. В настоящее время я использую,Как закрыть клавиатуру при любом событии клика?

InputMethodManager imm = (InputMethodManager) cntx.getSystemService(Activity.INPUT_METHOD_SERVICE); 
     imm.toggleSoftInput(InputMethodManager.HIDE_NOT_ALWAYS, 0); 

Это тумблер, он открывается, если клавиатура скрыта, но я хочу, чтобы скрыть клавиатуру, является ли он открытым или нет.

+0

См эту ссылку HTTP: //stackoverflow.com/questions/1109022/close-hide-the-android-soft-keyboard – ajantha

ответ

0

Получить текущий фокусный просмотр и использовать этот токен окна просмотра, скрыть вашу клавиатуру.

View view = this.getCurrentFocus(); // get current focussed edittext 
    if (view != null) { 
     InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 
    } 
+0

У меня есть несколько текстов редактирования, поэтому я не могу редактировать текст, который пользователь будет нажимать последним, и называя это несколько раз, я не очень хорош. – Mrudul

+0

Что именно вы хотите? – Amy

+0

Я просто хочу скрыть клавиатуру на кнопке click !!!! но я не могу пройти просмотр !!! – Mrudul

1

сделать одну функции, как это, и вызов из любой точки мира, передавая контекст так:

public static void hideKeyBoard_WithView(Context context) { 

     // Check if no view has focus: 
     View view = ((Activity) context).getCurrentFocus(); 
     if (view != null) { 
      InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE); 
      imm.hideSoftInputFromWindow(view.getWindowToken(), 0); 
     } 

    } 

Надеется, что это поможет! :) просто попробуй !

+0

Не работает для меня .. – Mrudul

+0

Пожалуйста, покажите мне свой код, который вы используете для вызова этого метода! Потому что он отлично работает в моих приложениях. – Rahul

+0

Я отправил свой код выше ... Но это toggleSoftInput, поэтому он скрывает клавиатуру, когда она открыта и открывается, если она скрыта. В случае вашего кода все происходит. Если он открыт, он остается открытым и, если он скрыт, остается скрытым! – Mrudul

1
edittext.setFocusable(true); 
edittext.setFocusableInTouchMode(true); 

// попытаться использовать это .. сделать параметр как ложь, когда у не требуется клавиатура & написать метод OnClick на редактирования текста & сделать параметры верно, чтобы получить фокус снова

+0

У меня нет метода щелчка по редактированию текста, у меня есть кнопка, на которой у меня скрыта клавиатура, которая открывается. – Mrudul

+0

сохранить все edictxt focusable & setFousableIntouch false .. & установить метод onclick для каждого editext ... когда пользователь нажимает на edittext, он набирает фокус, и клавиатура будет всплывать и включаться на кнопке set edittext focussable & in touchfocusable false again. Таким образом, клавиатура будет всплывать только при касании конкретного редактора –