2016-09-01 4 views
1

Ich habe eine App erstellt, in der ich Ansichten verwendet habe und jetzt möchte ich die Tastatur Popup wenn die Ansicht berührt wird, dh Benutzername, Adresse oder Telefon Ich habe die folgenden Zeilen von Codes verwendet, aber es funktioniert nichtknallende Tastatur in android

1)getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE); 

dies nicht funktioniert, und ich versuchte, das zu folgenden aber keine Hilfe

((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)) 
      .showSoftInput(username, InputMethodManager.SHOW_FORCED); 

bitte mir dabei helfen. This is the image of my custom view app

Mein EditText XML ist hier

<com.github.florent37.materialtextfield.MaterialTextField  
     android:layout_below="@+id/view" 
     app:mtf_image="@drawable/phon" android:id="@+id/view3"> 
<EditText android:layout_width="wrap_content" 
      android:layout_height="40dp" 
      android:id="@+id/phoneNo" 
      android:focusableInTouchMode="true" 
      android:textSize="18sp" 
      android:inputType="phone" 
      android:background="@drawable/phone" 
      android:hint="Phone Number" /> 
</com.github.florent37.materialtextfield.MaterialTextField> 
+0

Verwenden Sie EditText in Ihrem Layout: –

+0

Ja, ich benutze Text bearbeiten. –

+0

ist Benutzername Ihr editText? –

Antwort

0

Versuchen Sie folgendes:

InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
     inputMethodManager.toggleSoftInputFromWindow(mMessage.getApplicationWindowToken(), InputMethodManager.SHOW_FORCED, 0); 

Wo mMessage Ihre EditText ist.

+0

Außerdem benutzte ich EditText.requestFocus() beim Öffnen der Tastatur. Wenn es nicht funktioniert, versuchen Sie es auch. – Lev

+0

keine dieser Methoden funktionieren, ich weiß nicht warum, und ich mache es in Genymotion Emulator, aber die Tastatur wird nicht angezeigt –

+0

Können Sie nur einmal in physischen Gerät auch versuchen? –