Ukryj klawiaturę podczas przechodzenia od fragmentu do innego
Mam Fragment, który zawiera tekst edycji. Po naciśnięciu tekstu edycji wyświetlana jest klawiatura. Po naciśnięciu przycisku Zapisz w górnym rogu aplikacja powróci do poprzedniego fragmentu, ale klawiatura nadal będzie działać.
Chciałbym, aby klawiatura była ukryta podczas przechodzenia do poprzedniego fragmentu.
Proszę zauważyć, że próbowałem tego rozwiązania: Zamknij / Ukryj miękką klawiaturę Androida .
InputMethodManager imm = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(myView.getWindowToken(), 0);
Próbowałem użyć tego w obu fragmentach, w metoda onkologiczna.
Próbowałem też ukryć miękką klawiaturę w układzie:
android:windowSoftInputMode="stateAlwaysHidden"
Niestety żaden z nich nie zadziałał.
Zamieściłbym kilka zdjęć, ale nie mam jeszcze wystarczającej reputacji. Byłbym wdzięczny za konstruktywną pomoc i opinię i nie zapominaj, że " mądry człowiek może nauczyć się więcej z głupiego pytania niż głupiec może nauczyć się mądrej odpowiedzi." :)
Pozdrawiam, Alexandra
2 answers
Umieść kod, który ukrywa klawiaturę w" save button " kliknij listener i użyj tej metody, aby ukryć klawiaturę:
public static void hideKeyboard(Activity activity) {
InputMethodManager inputManager = (InputMethodManager) activity
.getSystemService(Context.INPUT_METHOD_SERVICE);
// check if no view has focus:
View currentFocusedView = activity.getCurrentFocus();
if (currentFocusedView != null) {
inputManager.hideSoftInputFromWindow(currentFocusedView.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
}
}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-05 08:39:32
Najprostszy sposób ukrycia klawiatury w fragmencie lub aktywności
Soluton : 1
//hide keyboard
public static void hideKeyboard(Context ctx) {
InputMethodManager inputManager = (InputMethodManager) ctx
.getSystemService(Context.INPUT_METHOD_SERVICE);
// check if no view has focus:
View v = ((Activity) ctx).getCurrentFocus();
if (v == null)
return;
inputManager.hideSoftInputFromWindow(v.getWindowToken(), 0);
}
Rozwiązanie: 2
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputMethodManager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-09 09:50:48