2015-08-26 5 views
6

Vielen Dank im Voraus für die Hilfe.Android: Force-Tastatur zu erscheinen und auf EditText konzentrieren

Ich möchte eine Tastatur am Ende oder während der Ausführung des folgenden Codes angezeigt werden.

// edit text 
    EditText editText = new EditText(activity); 
    editText.setBackgroundColor(Color.WHITE); 
    editText.setGravity(Gravity.TOP); 
    editText.setText("Type here..."); 

    RelativeLayout relativeLayoutEditText = new RelativeLayout(activity); 
    RelativeLayout.LayoutParams paramRelativeLayoutEditText = new RelativeLayout.LayoutParams(
      LinearLayout.LayoutParams.MATCH_PARENT, 43 * display.getHeight()/80); 
    paramRelativeLayoutEditText.addRule(RelativeLayout.ALIGN_PARENT_TOP); 
    relativeLayoutEditText.addView(editText,paramRelativeLayoutEditText); 

    // add all created views to rootView 
    rootView.addView(relativeLayoutEditText, paramEditText); 

    // open keyboard 
    InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT); 

aber die Tastatur erscheint erst nach dem editText Feld (dh mit dem Finger) zu berühren. Gibt es eine Möglichkeit, das Board automatisch erscheinen zu lassen, ohne einen physischen Touch zu benutzen?

Als beiseite weiß ich, dass, wie ich die Breite und Höhe angeben, nicht genau der richtige Weg ist, Dinge zu tun. In

+0

editText.requestFocus(); Können Sie diesen Code nach setTextMethod() hinzufügen? – mustafasevgi

+0

Das habe ich schon ausprobiert. editText bekommt den Fokus, aber die Tastatur erscheint immer noch nicht, bis ich den Bildschirm berühre. – HXSP1947

+0

Mögliche Antwort: http://stackoverflow.com/a/8991563/3913366 –

Antwort

7

Dank @ Shubham den Link ich in der Lage war, es herauszufinden. Die Lösung war jedoch nicht die Antwort, die in der Verbindung gegeben wurde. Es war die zweite Antwort.

editText.requestFocus(); 
InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY); 

Edit:

einmal die obige Lösung mit Hilfe der Tastatur auf dem Bildschirm bleiben, bis ein Benutzer entweder die Zurück-Taste oder die Home-Taste drückt (manchmal dauert es ein paar Mal). Um die Tastatur zu entfernen, verwenden Sie diese

in meinem Fall rootView ist die rootView der aktuellen Aktivität. Ich habe das nicht getestet, um zu sehen, ob das bei Kinderansichten funktioniert.

3

editText.requestFocus(); 

Try this:

EditText editText = (EditText) findViewById(R.id.myTextViewId); 
editText.requestFocus(); 
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT); 

sicherzustellen, dass die EditText im Touchbetrieb fokussierbar ist. Du kannst es auf zwei Arten machen.

In xml:

android:focusableInTouchMode="true" 

in Java:

editText.setFocusableInTouchMode(true); 
+0

Siehe meinen obigen Kommentar. – HXSP1947

+0

finden Sie meine Update-Antwort – sasikumar

+1

Das gleiche. editText bekommt den Fokus, aber die Tastatur erscheint erst, wenn ich den Bildschirm berühre. – HXSP1947

0

Mögliche answer link. Viele der oben genannten Informationen stammen ebenfalls von diesem Link.

Try This:

EditText textView = (EditText)findViewById(R.id.myTextViewId); 
textView.requestFocus();  
InputMethodManager imm = 
(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.showSoftInput(textView, InputMethodManager.SHOW_IMPLICIT); 
+0

geben Sie die tatsächliche Lösung. – HXSP1947

+0

Das ist nicht die Lösung ....... Zweite Antwort war es. Siehe meinen Kommentar vorher. – HXSP1947

-2

wird dies über die Tastatur

InputMethodManager imm = (InputMethodManager) 
     OrderMainActivity.this.getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.showSoftInput(txtCustomerId, InputMethodManager.SHOW_IMPLICIT); 

Ihre Aktivität Namen eingeben, anstatt dies zeigen, wenn Sie Tastatur aus den Hörer zB Aufruf. Schaltfläche klicken

Verwandte Themen