Intereting Posts
Изменить размер нижней границы EditText Рекомендации для общих разделов SetUserVisibleHint вызывается перед onCreateView в фрагменте Как я могу получить внешний путь SD-карты для Android 4.0+? Как открыть AlertDialog с экрана предпочтений? Android In-App Billing: Security.java говорит: «Подтверждение подписи завершено» Как изменить имя приложения в Launcher в android в соответствии с языком, выбранным в «Настройки телефона»? Правильный способ проверки всех флажков в ListView? Производительность Android SQLite в сложных запросах Файлы обмена файлами Android, отправляя их по электронной почте или другим приложениям Android – Когда регистрировать / отменить регистрацию широковещательных ресиверов, созданных в виде активности? Java.io.FileNotFoundException: com / google / inject / internal / util / $ Finalizer.class в начале приложения для Android Как использовать SharedPreferences в Xamarin.Android? Доступ к мультимедийному потоку Android для аудиовизуализации Фрагмент должен быть открытым статическим классом, который должен быть правильно воссоздан из состояния экземпляра

Скрыть клавиатуру мягкого ввода, когда диалог закрывается

Я открываю Dialog изнутри Activity . Когда откроется диалоговое окно, я вызываю

 ((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); 

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

Solutions Collecting From Web of "Скрыть клавиатуру мягкого ввода, когда диалог закрывается"

В AndroidManifest.xml , установите это свойство в своей деятельности, которые показывают диалог

андроид: windowSoftInputMode = "stateAlwaysHidden"

Заметка! Не stateHiddent , stateAlwaysHidden . Он автоматически скроет мягкую клавиатуру на Dismass of Dialog.

Надеюсь, что спаси свою жизнь.

Я предполагаю, что этот метод активности может быть вам полезен.

  @Override public void onWindowFocusChanged(boolean hasFocus) { // TODO Auto-generated method stub super.onWindowFocusChanged(hasFocus); if(hasFocus) { Toast.makeText(MainActivity.this, "has focus", Toast.LENGTH_LONG).show(); // write code to remove keyboard } } 
 AlertDialog.Builder builder = new AlertDialog.Builder(EllipticalActivity.this); builder.setTitle("title") .setMessage("message") .setCancelable(false) .setNegativeButton("Close", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { InputMethodManager inputManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); inputManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); dialog.cancel(); } }); AlertDialog alert = builder.create(); alert.show(); 

В моем случае решение заключалось в том, чтобы скрыть клавиатуру в диалоговом окне

 dialog.setOnDismissListener(new DialogInterface.OnDismissListener() { @Override public void onDismiss(DialogInterface dialog) { View view = activity.getCurrentFocus(); if (view != null) { InputMethodManager inputManager = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); inputManager.hideSoftInputFromWindow(view.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } } }); 

Из действия метода onCreateView () вы можете сделать это:

 getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN) 

Или в манифесте xml

 android:windowSoftInputMode="stateAlwaysHidden" 

Он автоматически скроет мягкую клавиатуру на Dismass of Dialog