2011-01-05 8 views
6

की आवश्यकता होती है मुझे कभी-कभी मेरे अनुप्रयोगों में ऊपर दिखाए गए इस त्रुटि की रिपोर्ट मिलती है। मैं विकास और परीक्षण के दौरान कभी भी यह त्रुटि नहीं देखता हूं। आवेदन 2.1 और उच्चतम के लिए है। मैं 2.1, 2.2 और 2.3 (एम्यूलेटर) और वास्तविक उपकरणों में परीक्षण करता हूं (2.3 को छोड़कर)।कभी-कभी: <nine-patch> को एक वैध स्रोत विशेषता

<TextView 
style="@style/ActivityTitleBar" 
android_layout_span="2" 
android:layout_weight="2" 
android:text="@string/txt_appname" /> 

यहाँ शैली परिभाषा है::

यहाँ एक लेआउट फ़ाइल है कि इस त्रुटि पैदा करता है का हिस्सा है (देखें एक TableLayout का हिस्सा है)

<style name="ActivityTitleBar"> 
<item name="android:background">@drawable/titlebar</item> 
<item name="android:gravity">center</item> 
<item name="android:layout_height">wrap_content</item> 
<item name="android:layout_width">fill_parent</item> 
<item name="android:singleLine">true</item> 
<item name="android:textColor">#fff</item> 
<item name="android:textSize">14sp</item> 
<item name="android:textStyle">bold</item> 
</style> 

रेस में/drawable एक है इस सामग्री के साथ एक्सएमएल फ़ाइल:

<nine-patch 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:dither="true" 
android:src="@drawable/titlebar" /> 

टाइटलबार.png मेरे ड्रॉबल-एचडीपीआई, ड्रायबल-एलडी में स्थित है पीआई और drawable-mdpi फ़ोल्डर्स।

मुझे कोई संकेत नहीं है कि डिवाइस या एंड्रॉइड रिलीज इस त्रुटि का कारण बनता है।

कोई विचार?

अग्रिम में बहुत धन्यवाद।

HJW

यहाँ ढेर ट्रेस-रिपोर्ट है:

java.lang.RuntimeException: Unable to start activity ComponentInfo{de.x.y.android/de.x.y.android.Main}: android.view.InflateException: Binary XML file line #18: Error inflating class android.widget.TextView 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2781) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2797) 
at android.app.ActivityThread.access$2300(ActivityThread.java:135) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2132) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:143) 
at android.app.ActivityThread.main(ActivityThread.java:4914) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:521) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.view.InflateException: Binary XML file line #18: Error inflating class android.widget.TextView 
at android.view.LayoutInflater.createView(LayoutInflater.java:513) 
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:621) 
at android.view.LayoutInflater.rInflate(LayoutInflater.java:621) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207) 
at android.app.Activity.setContentView(Activity.java:1654) 
at de.x.y.android.MyActivity.onCreate(MyActivity.java:46) 
at de.X.Y.android.Main.onCreate(Main.java:190) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1065) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2745) 
... 11 more 
Caused by: java.lang.reflect.InvocationTargetException 
at android.widget.TextView.<init>(TextView.java:332) 
at java.lang.reflect.Constructor.constructNative(Native Method) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:446) 
at android.view.LayoutInflater.createView(LayoutInflater.java:500) 
... 25 more 
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/titlebar.xml from drawable resource ID #0x7f020003 
at android.content.res.Resources.loadDrawable(Resources.java:1697) 
at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
at android.view.View.<init>(View.java:1885) 
at android.widget.TextView.<init>(TextView.java:338) 
... 29 more 
Caused by: org.xmlpull.v1.XmlPullParserException: Binary XML file line #3: <nine-patch> requires a valid src attribute 
at android.graphics.drawable.NinePatchDrawable.inflate(NinePatchDrawable.java:262) 
at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:788) 
at android.graphics.drawable.Drawable.createFromXml(Drawable.java:729) 
at android.content.res.Resources.loadDrawable(Resources.java:1694) 
... 32 more 
+0

अंत में आपने क्या समाधान बनाया? – Kalpesh

+0

[यहां संबंधित पोस्ट] (http://stackoverflow.com/questions/37700777/android-api-21-9patch-error) और संभव [ग्रैडल पर Google बग रिपोर्ट] (https://code.google.com/p/एंड्रॉइड/मुद्दों/विस्तार? आईडी = 210467) –

उत्तर

2

आप मज़बूती से titlebar.xml और titlebar.png दोनों नहीं हो सकता। एक अलग आधार नाम रखने के लिए कृपया एक का नाम बदलें।

+0

धन्यवाद - यह बदल जाएगा। हालांकि, यह मेरे और मेरे ग्राहकों के लिए कई अलग-अलग उपकरणों और अनुकरणकों पर काम कर रहा था। उन सभी महीनों में दो त्रुटियों का कारण क्या हो सकता है? –

+0

@hjw: शुद्ध भाग्य, AFAIK। – CommonsWare

+0

एक अलग नाम पर पीएनजी का नाम बदलने और एक्सएमएल फ़ाइल में अपनी प्रविष्टि बदलने के बाद अब मुझे त्रुटि भी मिलती है। अब मैं पूरी तरह से खो गया हूँ। कुछ ग्राहक इस त्रुटि को प्राप्त करते हैं यदि दोनों नाम समान हैं और यदि नाम अलग हैं तो सभी ग्राहक को यह त्रुटि प्राप्त होती है। आर्ग! –

-1

मुझे एक ही समस्या थी। मैंने हल किया कि शीर्ष पर काले हिस्से जोड़ना और 1 पिक्सेल लाइनों को छोड़ दिया। मैंने छवि पैमाने से बचने के लिए उन्हें पारदर्शी रखने की कोशिश की लेकिन काम नहीं किया।

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