Das Android-System löst jedes Mal eine Konfigurationsänderung aus, wenn eine Tastatur an ein Gerät angeschlossen oder von ihm getrennt wird. Damit die Nutzerfreundlichkeit auf Geräten mit großem Bildschirm und abnehmbarer Tastatur optimal ist und die Produktivität der Nutzer maximiert wird, muss Ihre App Tastaturkonfigurationsänderungen effektiv verwalten.
Wiederherstellung von Aktivitäten bei Tastaturwechsel verhindern
Wenn Sie verhindern möchten, dass Ihre Aktivität neu erstellt wird, wenn eine abnehmbare Tastatur angeschlossen oder getrennt wird, fügen Sie dem Attribut configChanges
Ihres App-Manifests tastaturbezogene Werte hinzu und fügen Sie der Ansichtshierarchie der Aktivität eine Ansicht hinzu, damit Ihre App auf Konfigurationsänderungen achten kann.
1. configChanges
-Attribut deklarieren
Aktualisieren Sie das <activity>
-Element im App-Manifest, indem Sie die keyboard|keyboardHidden
-Werte der Liste der bereits verwalteten Konfigurationsänderungen hinzufügen:
<activity
...
android:configChanges="...|keyboard|keyboardHidden">
2. Hierarchie eine leere Ansicht hinzufügen
Deklarieren Sie eine neue Ansicht und fügen Sie den Handlercode in die onConfigurationChanged()
-Methode der Ansicht ein:
Kotlin
val v = object : View(this) { override fun onConfigurationChanged(newConfig: Configuration?) { super.onConfigurationChanged(newConfig) // Handler code here. } }
Java
View v = new View(this) { @Override protected void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); // Handler code here. } };
Wichtige Fakten
android:configChanges
: Attribut des<activity>
-Elements des App-Manifests. Informiert das System über Konfigurationsänderungen, die von der App verwaltet werden.View#onConfigurationChanged()
: Methode, die auf die Weiterleitung einer neuen App-Konfiguration reagiert.
Ergebnisse
Ihre App reagiert jetzt darauf, wenn eine externe Tastatur angeschlossen oder getrennt wird, ohne die laufende Aktivität neu zu erstellen.
Sammlungen, die diesen Leitfaden enthalten
Dieser Leitfaden ist Teil der folgenden ausgewählten Sammlungen von Kurzanleitungen, die allgemeinere Ziele der Android-Entwicklung abdecken:
![](https://developer.android.google.cn/static/images/quick-guides/collection-illustration.png?hl=de)