Feature Benutzerdefinierter Titel: Benutzerdefinierte Titel können nicht in API 11 und höher kombiniert werden

7

Ich habe ein Projekt, in dem ich eingestellt habe:

  • minSdkversion auf 10 gesetzt
  • MainActivity ist eine TabActivity

Code in OnCreate-Methode ist dies:

%Vor%

Mit vorherigen Einstellungen funktioniert alles gut! Aber wenn ich minSdkVersion auf 11 oder höher setze, tritt diese Ausnahme auf:

%Vor%

Ich verstehe nicht, warum passiert das nur ändern minSdkVersion. Ich habe eine Menge über dieses Problem auf dieser Seite gelesen. Ich habe es versucht:

  • Theme.NoTitleBar im Hauptlayout und danach in der Manifest-Datei zu
  • Ich lege diese 3 Zeilen in alle möglichen Positionen
  • Wenn ich die erste Zeile kommentiere, tritt eine NullPointerException auf, wenn ich etwas in meiner TextView-Referenz meines CustomTitle-Layouts anrufe
  • Ich habe versucht, in der Dateideklaration theme.xml "windowNoTitle" = true
  • zu setzen

Da ich Funktionen nutze, die nur von API 11 verfügbar sind, möchte ich minSdk auf 11 setzen, bevor ich App on Store lade. Wie kann ich ?? Ich brauche Hilfe

Bearbeiten : Bei minSdkVersion = 10 und Theme.NoTitleBar in Manifest tritt derselbe Fehler auf. Entfernen Sie es, alles funktioniert wie zuvor. Kann jemand einen Arbeitscode (Manifest- und Aktivitätscode) zum Festlegen eines benutzerdefinierten Titels bereitstellen, wenn die API 11 oder höher ist? Thx viel

    
kinghomer 05.09.2012, 11:20
quelle

6 Antworten

37

Von mir selbst behoben. Ich weiß nicht warum, aber das Hinzufügen der Eigenschaft manifest file "theme" für die Deklaration jeder Aktivität funktioniert:

Von diesem:

%Vor%

Dazu:

%Vor%     
kinghomer 30.10.2012, 11:51
quelle
3

@kinghomer Ich habe CUSTOM_TITLE auf 2.2 (API 8) tatsächlich versucht. Lass mich API 11 ausprobieren und melde dich wieder!

Vorher müssen Sie Theme.NoTitleBar nicht irgendwo platzieren, sondern können direkt in der .java-Datei gesteuert werden. Gib mir etwas Zeit, werde wiederkommen!

    
Charan 24.10.2012 10:06
quelle
0

Res / Werte-v11 defalut verwenden Sie diesen Code:

%Vor%

ändern Sie "android: Theme.Holo.Light" zu "@android: style / Theme" wird in Ordnung sein!

tips: Wenn Ihr Projekt "res / v11-Werte" nicht hat, dann überprüfen Sie Ihr Projekt mit dem Verweis "lib project".

    
Cutler 13.11.2014 08:18
quelle
0

Anders als die angenommene Antwort gibt es eine andere Möglichkeit, dies zu lösen:

%Vor%

Weisen Sie im xml-basierten Mainifest eine theme -Attribution zu application zu, die für alle Aktivitäten funktionieren sollte.

    
zionpi 22.05.2015 06:15
quelle
0

Dieses Problem tritt auf, wenn Sie versuchen, eine benutzerdefinierte Titelleiste hinzuzufügen und Ihre Aktivität um ActionBarActivity oder AppcomActivity zu erweitern. Für diese beiden Aktivitätsklassen ist bereits eine Titelleiste definiert. Wenn Sie also versuchen, eine eigene benutzerdefinierte Titelleiste hinzuzufügen, tritt ein Konflikt auf, der die zu verwendende Titelleiste verwendet - Ihre benutzerdefinierte oder die von der erweiterten Aktivität bereitgestellte Titelleiste.

Um dieses Problem zu lösen, erweitern Sie einfach Ihre Aktivität um Activity , die keine vordefinierten Titelleisten hat, sodass Ihre Dateien ohne Konflikte akzeptiert werden.

%Vor%     
Mukesh 01.01.2016 06:01
quelle
0

Ich habe gerade android:theme="@android:style/Theme" in activity in AndroidManifest.xml file hinzugefügt und es hat super funktioniert.

%Vor%

Hoffe, das funktioniert auch für dich.

    
Crime_Master_GoGo 14.07.2017 08:24
quelle