Android XML: RuntimeException: Fehler beim Auflösen des Attributs bei Index 6
Hallo Liebe stackoverflower,
In meinem Projekt, ich bin mit dem neuen "android-design-Bibliothek".
Das problem ist, dass es eine runtime-exception, die sagt(ich bin versucht, zu erstellen eine FloatingButton):
java.lang.RuntimeException: Failed to resolve attribute at index 6
at android.content.res.TypedArray.getColorStateList(TypedArray.java:426)
at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:91)
at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:79)
at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:75)
War ich in der Lage, herauszufinden, was das Attribut kann nicht aufgelöst werden :
<style name="Widget.Design.FloatingActionButton" parent="android:Widget">
<item name="android:background">@drawable/fab_background</item>
<item name="backgroundTint">?attr/colorAccent</item> **!! this one is missing !!**
<item name="fabSize">normal</item>
<item name="elevation">@dimen/fab_elevation</item>
<item name="pressedTranslationZ">@dimen/fab_translation_z_pressed</item>
<item name="rippleColor">?attr/colorControlHighlight</item>
<item name="borderWidth">@dimen/fab_border_width</item>
</style>
Diese befindet sich in res/values/styles/styles.xml in der android-design-Bibliothek
ich gelesen habe diese post, dass die API lvl sollte bis 21+. Aber als die design-Bibliothek unterstützt-API 7+, das sollte kein problem sein eigentlich.
Es ist auch Wert zu erwähnen, dass ich keine design-Bibliothek als gradle-Abhängigkeit wie diese:
compile 'com.android.support:design:22.2.0'
Ich bin das hinzufügen der library manuell auf das Projekt, weil der Jenkins-server hat keinen Internet-Zugang.
Ich habe aktualisiert die support-v4-Bibliothek zu 21.2.0
auch die appcompat-support-v7 enthalten ist und aktualisiert werden.
Hier ist die android-design-library-gradle-Datei:
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 17
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
Es wäre toll, wenn mir jemand helfen kann.
InformationsquelleAutor der Frage Paul Reznik | 2015-06-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Lief in dieses problem selbst. Es ist, weil meine app nicht mit AppCompat, aber immer noch nur die regelmäßige Unterstützung
FragmentActivity
. Dies bedeutet, dassFloatingActionButton
war auf der Suche nach zwei Thema Attribute und es konnte Sie nicht finden.Ausdrücklich hinzufügen, die in diese fehlenden Attribute machte es für mich arbeiten, ohne die Notwendigkeit zu verwenden zu beginnen AppCompat.
InformationsquelleAutor der Antwort Kevin Grant
Hatte das gleiche Problem, da haben verwendet
getApplicationContext()
stattActivity
abrufenLayoutInflater
und Blasen item view für die Liste-adapter.InformationsquelleAutor der Antwort orium
Können Sie lösen dieses problem, indem
Theme.AppCompat.Light
als Ihre Aktivität übergeordneten Thema.hinzufügen:
Der Grund dafür ist, dass der Standard-Stil mit innen FloatingActionButton ist erklären wie diese:
die backgroundTint ist finden ein weiteres Attribut colorAccent das sollte Messen, erklärt in unserem Thema, sonst wird die Ausnahme sein könnten, zu werfen.
Aber
colorAccent
deklariert ist AppCompat Thema und nicht erklärt werden in der sdk-Standard-Theme.Zu Messen, können wir Sie mit dem design-lib richtig ausgeführt, eines der einfache Weg ist, um zu Messen ist die Verwendung der AppCompat Thema wieTheme.AppCompat.Light
.InformationsquelleAutor der Antwort Gnod
Stellen Sie sicher, Ihr Thema .
Mein Thema :
InformationsquelleAutor der Antwort dupengtao
Da ist dies mehr als ein style.xml -Dateien.
Fügen Sie folgende Zeile in Ihre app zu bauen.gradle-Datei:
InformationsquelleAutor der Antwort Arun kumar
In meinem Fall, ich hatte einen Fehler beim
setContentView(R.layout.my_layout)
.In
my_layout
war ich mitapp:errorEnabled="true"
imTextInputLayout
die den Fehler verursacht hat. Entfernt, die Linie, und es funktionierte.InformationsquelleAutor der Antwort Tincho825