Virtuelle Tastatur anzeigen lassen.

  • Antworten:6
  • Bentwortet
Can Erdener Yazar
  • Forum-Beiträge: 57

09.03.2016, 15:51:34 via Website

Hallo Community,

ich möchte gerne die virtuelle Tastatur automatisch anzeigen lassen aber folgende Code funktioniert nicht:

    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

    EditText popupEditText = (EditText) findViewById(R.id.test);
    imm.showSoftInput(popupEditText, InputMethodManager.SHOW_IMPLICIT );
}

    <EditText
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    android:id="@+id/test"/>

Weiß jemand vielleicht warum?

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

09.03.2016, 19:25:42 via Website

Sollte gehen, im Emulator vielleicht nicht.

Hast du es mal auf deinem Gerät getestet?

Evntl. mal SHOW_FORCED Option Testen:

 .showSoftInput(myEditText, InputMethodManager.SHOW_FORCED);

— geändert am 09.03.2016, 19:26:50

LG Pascal //It's not a bug, it's a feature. :) ;)

Can Erdener Yazar

Antworten
Can Erdener Yazar
  • Forum-Beiträge: 57

09.03.2016, 20:20:03 via Website

Hallo Pascal,

auf mein Mobiltelefon funktioniert es leider nicht und Andy hat keine virtuelle Tastatur.
SHOW_FORCED hat leider auch nicht geklappt, wobei ich die unterschied zwischen beiden Varianten nicht weiß.

Vielleicht liegt es an meinem Gerät, keine Ahnung.

Danke dir für dein Antwort.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

09.03.2016, 21:02:04 via Website

Also gehen tut es bei mir, gerade selber getestet.
Allerdings nur, wenn das EditTextFeld den Focus hat.
Wenn eine andere View diesen hat, geht es nicht.
Somit musst du vor dem öffnen des Keyboards den Focus holen.
Am besten so:

 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);

            EditText popupEditText = (EditText) findViewById(R.id.test);
            popupEditText.requestFocus();//Focus holen
            imm.showSoftInput(popupEditText, InputMethodManager.SHOW_IMPLICIT );

LG Pascal //It's not a bug, it's a feature. :) ;)

Can Erdener Yazar

Antworten
Can Erdener Yazar
  • Forum-Beiträge: 57

09.03.2016, 21:48:10 via Website

Leider funktioniert es bei mir nicht, auch wenn ich den Focus hole.
Vielleicht ist es auch wegen CyanogenMod.

Das funktioniert: popupEditText.selectAll();

Ich nehme an, dass das EditText-Feld den Focus hat, sonst könnte man den Text nicht markieren lassen.

Schade.

Antworten
Pascal P.
  • Admin
  • Forum-Beiträge: 11.286

09.03.2016, 22:21:51 via App

Komsich. Dann musst du halt darauf Vertrauen dass er Nutzer weiss dass er in das Feld clicken muss um die Tastatur zu sehen.

LG Pascal //It's not a bug, it's a feature. :) ;)

Can Erdener Yazar

Antworten