Ich bin auf einem alten Android-Projekt arbeiten, wussten Sie, was ist die Wirkung, wenn ich ActionBarActivity ändern (das ist veraltet) von AppCompatActivity in allen Klassen des Projekts? Danke.Die Auswirkungen der Änderung ActionBarActivity zu AppCompatActivity
Antwort
von sergej shafarenka's answer Kopiert
ActionBarActivity
(die eine Klasse AppCompatActivity
erstreckt) ist ein sicherer verwenden Rückwärtskompatibilität Klasse. Seine Vernachlässigung ist nur ein Hinweis darauf, dass Sie stattdessen direkt AppCompatActivity
verwenden möchten. AppCompatActivity
ist eine neue, allgemeinere Implementierung, die intern die Klasse AppCompatDelegate
verwendet. Wenn Sie eine Neuentwicklung beginnen, sollten Sie lieber sofort die neue AppCompatActivity
Klasse verwenden Wenn Sie die Möglichkeit haben, Ihre App zu aktualisieren, ersetzen Sie die veraltete Version ActionBarActivity
durch die neue Aktivität. Andernfalls können Sie bei veralteten Aktivitäten bleiben und es wird überhaupt kein Unterschied im Verhalten geben.
In Bezug auf AppCompatDelegate
ermöglicht es Ihnen neue getönte Widgets in einer Aktivität, die weder AppCompatActivity
noch ActionBarActivity
ist.
Zum Beispiel erben Sie eine Aktivität aus einer externen Bibliothek, die wiederum tut nicht vererben AppCompatActivity
aber Sie wollen, dass diese Aktivität getönte Materialien Widgets (Ansichten) haben. Um dies zu ermöglichen, müssen Sie eine Instanz von AppCompatDelegate
innerhalb Ihrer Aktivität erstellen, Methoden dieser Aktivität wie addContentView()
, setContentView()
usw. überschreiben (siehe AppCompatDelegate
javadoc für die vollständige Liste der Methoden) und innerhalb dieser überschriebenen Methoden die Aufrufe an innere AppCompatDelegate
weiterleiten Beispiel. AppCompatDelegate
erledigt den Rest und Ihre "altmodische" Aktivität wird "materialisiert".
- 1. Soll ich ActionBarActivity durch AppCompatActivity ersetzen?
- 2. Wie kann ich in Eclipse von ActionBarActivity zu AppCompatActivity wechseln?
- 3. Was ist die Verbesserung von AppCompatActivity gegenüber ActionBarActivity?
- 4. Auswirkungen der Änderung MemCached maximale Blockgröße
- 5. Hat die Änderung der Systemzeit nachteilige Auswirkungen SQL Server
- 6. AppCompatActivity verursachen die Anwendung
- 7. Wie AppCompatActivity zu Aktivität werfen
- 8. AppCompatActivity und Marshmallow Permissions
- 9. Warum hat die Änderung der Reihenfolge dieser Anweisungen erhebliche Auswirkungen auf die Leistung?
- 10. AppcompatActivity: OutMemoryException
- 11. neues ActionBarDrawerToggle bei Verwendung von AppCompatActivity
- 12. Magento 1.4.2 + APC: Das Löschen des Cache hat keine Auswirkungen auf die Änderung der Einstellungen
- 13. Android styles.xml windowNoTitle (ActionBarActivity)
- 14. AppCompatActivity mit Toolbar: Menüelemente, die nicht in der Toolbar angezeigt werden
- 15. Kann Android nicht verwenden: Theme.Material in AppCompatActivity
- 16. Inhalt der URL - Auswirkungen auf die Konvertierungen
- 17. Was sind die Auswirkungen der Annotation @ServiceDependency
- 18. Implementieren der Zurücknavigation mit ToolBar und AppCompatActivity
- 19. auf Änderung Funktion auch Auswirkungen auf Klon div
- 20. Auswirkungen der negativen Polsterung
- 21. Auswirkungen der Aktivierung usageLegacyV2RuntimeActivationPolicy?
- 22. ActivityUnitTestCase und startActivity mit ActionBarActivity
- 23. wie man Fragment von der Hauptklasse (appCompatActivity)
- 24. Guice: Auswirkungen der Feldeinkopplung
- 25. NullPointerException beim Ändern der Aktivität in AppCompatActivity
- 26. Unable erstellen alertDialog in ActionBarActivity
- 27. getApplicationContext() in AppCompatActivity (appcompatv7)
- 28. Auswirkungen
- 29. Android YouTubePlayerView in AppCompatActivity
- 30. Android Alertdialog in AppCompatActivity
Danke für die Antwort, also, wenn ich richtig verstanden habe, wenn ich eine Kopie von jedem Vorkommen von 'ActionBarActivity' mache und durch' AppCompatActivity' ersetze, hat dies keinen Einfluss auf meinen Code? Oder mache ich gar nichts und benutze 'AppCompatActivity' in den neuen Aktivitäten? –
Sogar dein erster Satz ist korrekt. Zweitens können Sie AppCompatActivity für Ihre neue Aktivität verwenden. – W4R10CK
Okay, danke! –