2015-06-02 6 views
30

नमस्ते प्रिय stackoverflower में विशेषता को हल करने में विफल रहा,एंड्रॉयड एक्सएमएल: RuntimeException: सूचकांक 6

मेरी परियोजना में, मैं नई 'एंड्रॉयड डिजाइन पुस्तकालय "का उपयोग कर रहा हूँ। समस्या है, एक क्रम अपवाद जो कहते हैं (एक 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) 

मैं यह पता लगाने में सक्षम था, जो विशेषता हल नहीं किया जा सकता है:

<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> 

यह एंड्रॉइड-डिज़ाइन-लाइब्रेरी

में res/values ​​/ शैलियों/शैलियों.एक्सएमएल में स्थित है, मैंने this पोस्ट में पढ़ा है कि API lvl को 21+ होना चाहिए। लेकिन जैसा कि डिज़ाइन लाइब्रेरी एपीआई 7+ का समर्थन करता है, यह वास्तव में एक समस्या नहीं होनी चाहिए।

compile 'com.android.support:design:22.2.0' 

मैं परियोजना के लिए मैन्युअल रूप से पुस्तकालय द्वारा जोड़ा जा रहा है क्योंकि जेनकींस सर्वर कोई इंटरनेट पहुंच है:

यह भी है कि मैं इस तरह की एक Gradle-निर्भरता के रूप में डिजाइन पुस्तकालय शामिल नहीं किया है उल्लेख करने के लिए लायक है । मैंने समर्थन-v4 लाइब्रेरी को 21.2.0 पर अद्यतन किया है, यह भी एपकंपैट समर्थन-v7 शामिल और अद्यतन किया गया है।

android { 
compileSdkVersion 21 
buildToolsVersion "21.1.2" 

defaultConfig { 
    minSdkVersion 17 
    targetSdkVersion 21 
} 

buildTypes { 
    release { 
     minifyEnabled false 
     proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' 
    } 
} 

यह अगर कोई मेरी मदद कर सकते बहुत अच्छा होगा:

यहाँ एंड्रॉयड डिजाइन-पुस्तकालय Gradle फ़ाइल है।

उत्तर

25

इस समस्या में खुद को चलाएं। ऐसा इसलिए है क्योंकि मेरा ऐप अभी तक AppCompat का उपयोग नहीं कर रहा है, फिर भी नियमित रूप से नियमित समर्थन FragmentActivity। इसका मतलब है कि FloatingActionButton दो थीम विशेषताओं की तलाश में था और यह उन्हें नहीं मिला।

विशेष रूप से इन अनुपलब्ध विशेषताओं में जोड़ने से यह AppCompat का उपयोग शुरू करने की आवश्यकता के बिना मेरे लिए काम करता है।

<LinearLayout 
    ... 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    .../> 

    <android.support.design.widget.FloatingActionButton 
     ... 
     app:backgroundTint="@color/{some color statelist}" 
     app:rippleColor="@color/{some color statelist}" 
     ... /> 

</LinearLayout> 
+0

दुर्भाग्यवश मेरे ऐप में 'colorAccent' विशेषता नहीं है, क्योंकि मैं AppCompat का उपयोग नहीं कर रहा हूं। मेरे द्वारा पोस्ट किया गया समाधान उन डेवलपर्स के लिए काम करना चाहिए जिनके बारे में मैंने वर्णन किया है। –

+4

दोस्त ... आप सबसे अच्छे हैं .. मेरे सिर को टक्कर देने के 3 दिन .. आपने समस्या हल की। – Mitech

5

आप अपनी गतिविधि की मूल विषय के रूप में Theme.AppCompat.Light का उपयोग कर इस समस्या का समाधान कर सकते हैं।

+0

यह प्रश्न का उत्तर नहीं प्रदान करता है। किसी लेखक से स्पष्टीकरण की आलोचना करने या अनुरोध करने के लिए, अपनी पोस्ट के नीचे एक टिप्पणी छोड़ दें - आप हमेशा अपनी पोस्ट पर टिप्पणी कर सकते हैं, और एक बार आपके पास पर्याप्त प्रतिष्ठा हो जाने पर आप किसी भी पोस्ट पर टिप्पणी कर पाएंगे। – Burkely91

4

सुनिश्चित करें कि आपकी थीम।

मेरे विषय:

<!-- Base application theme. --> 
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <!-- Customize your theme here. --> 
    <item name="colorPrimary">#2196F3</item> 
    <item name="colorPrimaryDark">#1565C0</item> 
    <item name="colorAccent">#E91E63</item> 
</style> 
+0

यह वास्तव में मेरे मामले में समस्या का समाधान किया। मैंने कस्टम टेक्स्ट व्यू बनाया था और लेआउट में उस कस्टम व्यू का उपयोग कर रहा था। जब तक मैंने ऐप मेनिफेस्ट में एप्लिकेशन थीम नहीं बदल दी और इस त्रुटि को देखना शुरू कर दिया तब तक ठीक काम किया। इसे वापस थीम में बदलना। AppCompat.Light समस्या हल हो गई। मुझे लगता है कि मैंने चुनी गई वैकल्पिक थीम में मेरे शैलियों में उपयोग किए जाने वाले कुछ थीम तत्व नहीं थे। – Zoccadoum

3

इसका कारण यह है एक से अधिक style.xml फ़ाइलों की है।

रेखा से नीचे जोड़े अपने अनुप्रयोग build.gradle फ़ाइल में:

compile 'com.android.support:design:22.2.0' 
4

) क्योंकि getApplicationContext (का इस्तेमाल किया है एक ही मुद्दा था layoutinflater निकालते हैं और सूची एडाप्टर के लिए आइटम दृश्य को बढ़ाने के लिए गतिविधि के बजाय।

0

मेरे मामले में, मुझे setContentView(R.layout.my_layout) पर एक त्रुटि हुई। my_layout में, मैं app:errorEnabled="true" का उपयोग TextInputLayout में कर रहा था जिससे त्रुटि हुई। उस रेखा को हटा दिया, और यह काम किया।

संबंधित मुद्दे