2011-01-05 10 views
6

Bazen uygulamalarda yukarıda gösterilen bu hatanın raporlarını alıyorum. Geliştirme ve test sırasında bu hatayı asla göremiyorum. Uygulamalar 2.1 ve üstü içindir. 2.1, 2.2 ve 2.3 (emülatör) ve gerçek cihazlarda (2.3 hariç) test ediyorum. İşte Bazen: geçerli bir src özniteliği gerektirir

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

stil tanımı var: Burada

bu hatayı üreten bir düzen dosyasının parçası (görünümü bir TableLayout parçasıdır) res ise

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

/çekilebilir bir olduğunu Bu içerikle XML dosyası:

titlebar.png benim çekilebilir-hdpi bulunan
<nine-patch 
xmlns:android="http://schemas.android.com/apk/res/android" 
android:dither="true" 
android:src="@drawable/titlebar" /> 

, çekilebilir-lâ pi ve çekilebilir mdpi klasörleri.

Hangi aygıtın veya Android sürümünün bu hataya neden olduğuna ilişkin hiçbir fikrim yok.

Herhangi bir fikrin var mı?

Şimdiden çok teşekkürler.

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

Son olarak hangi çözümü yaptınız? – Kalpesh

+0

[Related post here] (http://stackoverflow.com/questions/37700777/android-api-21-9patch-error) ve olası [Gradient Üzerine Google Hata Raporu] (https://code.google.com/p/android/issues/detail? id = 210467) –

cevap

2

Sen güvenilir titlebar.xml ve titlebar.png hem olamaz:

HJW

Burada yığın-iz-raporu. Lütfen farklı bir taban adı almak için birini yeniden adlandırın.

+0

Teşekkürler - bunu değiştirecek. Ancak, benim ve müşterilerim için birçok farklı cihaz ve emülatör üzerinde çalışıyordu. Tüm bu aylarda iki hata sebebi ne olabilir? –

+0

@hjw: Saf şans, AFAIK. – CommonsWare

+0

Png'yi farklı bir isimle değiştirdikten ve girişini xml dosyasında değiştirdikten sonra, ben de hata alıyorum. Şimdi tamamen kayboldum. Her iki isim aynıysa ve müşteri farklıysa, tüm müşteriler bu hatayı alırsa, az sayıda müşteri bu hatayı alır. Arg! –

-1

Aynı problem vardı. En üstte ve 1 piksel satırında siyah kısımlar ekleyerek çözdüm. Görüntü ölçeğinden kaçınmak için onları şeffaf tutmaya çalıştım ama işe yaramadı.