2017-03-17 4 views
-2

Ich möchte Soft-Tastatur verstecken, wenn Sie auf Hamburger Symbol in FragmentDrawer.Ich benutze ActionBarDrawerToggle in Fragment. Wenn ich den Input Method Manager in onDrawerOpened und onDrawerClosed verwende, wird der Fehler getSystemService angezeigt und die getCurrentFocus-Methode kann nicht aufgelöst werden.Verstecken android Soft-Tastatur, wenn Sie auf die Navigation Schublade im Fragment klicken

+0

zeigen Sie Ihren Code. –

+0

Mögliche Duplikate http://stackoverflow.com/questions/1109022/close-hide-the-android-soft-keyboard –

+1

Mögliche Duplikate von [Schließen/verstecken Sie die Android Soft Keyboard] (http://stackoverflow.com/questions/ 1109022/close-verstecken-the-android-soft-tastatur) –

Antwort

1

die "Id" des Haupt Layout-Set. und rufen Sie im "OnClickListener" die unten eingefügte Methode auf.

public static void hideKeyboard(Activity activity) { 
     if (activity != null) { 
      if (activity.getCurrentFocus() != null) { 
       InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity 
         .INPUT_METHOD_SERVICE); 
       inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus() 
         .getWindowToken(), 0); 
      } 
     } 
    } 
0

Verwenden Aktivität zu getCurrentFocus

 @Override 
     public void onDrawerStateChanged(int newState) {    
     InputMethodManager inputManager = (InputMethodManager)getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); 
     inputManager.hideSoftInputFromWindow(getActivity().getCurrentFocus().getWindowToken(), 
     InputMethodManager.HIDE_NOT_ALWAYS); 
     } 
Verwandte Themen