2016-12-04 2 views
3

Ich habe zwei Fragmente und jeder hat Text bearbeiten. Also, was ich erreichen möchte, ist jedes Mal, wenn ich Fragment, Fokus auf Text bearbeiten und Tastatur wird angezeigt. Zusätzlich, wenn ich diese Fragmente ersetze, möchte ich die Tastatur nicht verstecken und zeigen, aber mit meiner Lösung ist das, was jetzt passiert.Wie wird die Tastatur am Fragment ersetzt?

stelle ich in einem offenkundigen dieses Attribut Aktivität:

android:windowSoftInputMode="adjustResize|stateAlwaysVisible|stateUnchanged" 

Und jedes Fragment ruft diese Methode in onResume():

private void focusOnEditText() { 
    mTextInputEditText.setFocusableInTouchMode(true); 
    mTextInputEditText.requestFocus(); 
    InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.showSoftInput(mTextInputEditText, InputMethodManager.SHOW_IMPLICIT); 
} 
+0

Verwenden Sie den viewPager? –

+0

Nein, einfach Fragmente ersetzen. – ThirdMartian

+0

versuchen Sie diesen Code ... –

Antwort

0

Lesen Sie die DokumentationtoggleSoftInput

private void focusOnEditText() { 
     mTextInputEditText.setFocusableInTouchMode(true); 
     mTextInputEditText.requestFocus(); 
     InputMethodManager imm = (InputMethodManager) getActivity().getSystemService(Context.INPUT_METHOD_SERVICE); 
     imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); 
    } 
+0

Leider verbirgt sich jetzt Tastatur nach dem Ersetzen von Fragment. – ThirdMartian

+0

rufen Sie diese Methode in onCreateView() des Fragments auf. –

+0

Funktioniert immer noch nicht. – ThirdMartian

Verwandte Themen