Android: Wie starten Sie eine Aktivität

Ich versuche, starten Sie eine Tätigkeit in meiner App, aber ich habe einige Probleme.

Wenn ich recreate(); die Aktivität, die nicht komplett von neu starten, die EditTexts nicht bekommen, leer.

Ich habe auch versucht diesen code:

Intent myIntent = getIntent();
myIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
startActivity(myIntent);

ABER:

Am Anfang meiner Tätigkeit habe ein EditText und es wird auto-Fokus. Ich bin mit diesem code öffnen Sie die Tastatur, wenn der Fokus, und schließen, wenn der Fokus verloren:

txtNumber.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
         if (hasFocus) {
             imm.showSoftInput(txtNumber, InputMethodManager.SHOW_IMPLICIT);
         } else {
             imm.hideSoftInputFromWindow(v.getWindowToken(), 0);
         }
    }
});

Aber es funktioniert nicht, sobald eine Aktivität beginnt, also musste ich hinzufügen android:windowSoftInputMode="stateVisible" zu den AndroidManifest.xml.

Das problem ist, dass: der 2. code (für die Wiederaufnahme der Tätigkeit), ignorieren Sie diese, und öffnen Sie nicht die Tastatur an den start.

Wie kann ich die Tastatur öffnen bei der Tätigkeit Beginnen programmgesteuert? Oder wie kann ich den komplett neu starten, eine Aktivität mit recreate();?

Sorry für schlechtes Englisch, ich hoffe, Sie verstehen.

  • recreate() und rufe finish(). für ältere apis (ich glaube, die unteren 13(?)) startActivity(new Intent(this, getIntent()) und rufe finish(); und man kann ein Bündel in der Absicht, dann erhalten Sie es in onCreate und es verwenden, um update/ einrichten der Benutzeroberfläche
  • versuchen Sie, innerhalb oncreate -- (getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);) von hier -- stackoverflow.com/questions/5593053/...
  • Versuchen txtNumber.requestFocus() nach der Aktivität wieder bei onResume
  • recreate() und finish() schließen Sie einfach die Aktivität.
  • sorry, my bad... neu nicht aufrufen finish() bereits..
  • ersten start activtiy und beenden Sie dann in deinem 2. code
  • Mit recreate() die Aktivität EditTexts nicht bekommen, leer. @Tasos Gleichen Ergebnis, dass die Verwendung android:windowSoftInputMode="stateVisible". @AllenChan Nichts, ich habe auch versucht, das drehen auf der focuseable-Attribut im layout.
  • Nicht gefunden. Tastatur immer noch nicht öffnen.
  • public void changeKeyboardState() { InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0); }
  • Mögliche Duplikate von Wie kann ich starten Sie eine Android-Activity

InformationsquelleAutor Julián Pera | 2016-01-20
Schreibe einen Kommentar