2012-02-25 8 views
0

私は読み取り専用の評価バーにカスタム画像が必要です。私はこれを行ういくつかの方法を試した: Android RatingBar change star colorsHow to create Custom Ratings bar in Android。 どちらの場合も、xml解析の問題があります。アンドロイド2.2でカスタム評価バーを作成するときにxmlを解析できません

私のアンドロイドバージョン - 2.2のためかもしれないと思います。助言がありますか? logcatから

例外:

 
02-25 15:16:51.713: E/AndroidRuntime(309): FATAL EXCEPTION: main 
02-25 15:16:51.713: E/AndroidRuntime(309): android.view.InflateException: Binary XML file line #70: Error inflating class android.widget.RatingBar 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.LayoutInflater.createView(LayoutInflater.java:513) 
02-25 15:16:51.713: E/AndroidRuntime(309): at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.LayoutInflater.rInflate(LayoutInflater.java:618) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.LayoutInflater.rInflate(LayoutInflater.java:621) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.LayoutInflater.rInflate(LayoutInflater.java:621) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.LayoutInflater.rInflate(LayoutInflater.java:621) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.LayoutInflater.inflate(LayoutInflater.java:407) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.LayoutInflater.inflate(LayoutInflater.java:320) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.LayoutInflater.inflate(LayoutInflater.java:276) 
02-25 15:16:51.713: E/AndroidRuntime(309): at kz.mobidev.kinozavr.MovieListAdapter.getView(MovieListAdapter.java:40) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.widget.HeaderViewListAdapter.getView(HeaderViewListAdapter.java:220) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.widget.AbsListView.obtainView(AbsListView.java:1315) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.widget.ListView.makeAndAddView(ListView.java:1727) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.widget.ListView.fillDown(ListView.java:652) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.widget.ListView.fillFromTop(ListView.java:709) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.widget.ListView.layoutChildren(ListView.java:1580) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.widget.AbsListView.onLayout(AbsListView.java:1147) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.View.layout(View.java:7035) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.widget.FrameLayout.onLayout(FrameLayout.java:333) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.View.layout(View.java:7035) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.widget.FrameLayout.onLayout(FrameLayout.java:333) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.View.layout(View.java:7035) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.ViewRoot.performTraversals(ViewRoot.java:1045) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.ViewRoot.handleMessage(ViewRoot.java:1727) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.os.Handler.dispatchMessage(Handler.java:99) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.os.Looper.loop(Looper.java:123) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.app.ActivityThread.main(ActivityThread.java:4627) 
02-25 15:16:51.713: E/AndroidRuntime(309): at java.lang.reflect.Method.invokeNative(Native Method) 
02-25 15:16:51.713: E/AndroidRuntime(309): at java.lang.reflect.Method.invoke(Method.java:521) 
02-25 15:16:51.713: E/AndroidRuntime(309): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
02-25 15:16:51.713: E/AndroidRuntime(309): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
02-25 15:16:51.713: E/AndroidRuntime(309): at dalvik.system.NativeStart.main(Native Method) 
02-25 15:16:51.713: E/AndroidRuntime(309): Caused by: java.lang.reflect.InvocationTargetException 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.widget.RatingBar.(RatingBar.java:114) 
02-25 15:16:51.713: E/AndroidRuntime(309): at java.lang.reflect.Constructor.constructNative(Native Method) 
02-25 15:16:51.713: E/AndroidRuntime(309): at java.lang.reflect.Constructor.newInstance(Constructor.java:446) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.view.LayoutInflater.createView(LayoutInflater.java:500) 
02-25 15:16:51.713: E/AndroidRuntime(309): ... 32 more 
02-25 15:16:51.713: E/AndroidRuntime(309): Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ratingbar_red.xml from drawable resource ID #0x7f02001f 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.content.res.Resources.loadDrawable(Resources.java:1697) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.content.res.TypedArray.getDrawable(TypedArray.java:601) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.widget.ProgressBar.(ProgressBar.java:178) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.widget.AbsSeekBar.(AbsSeekBar.java:61) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.widget.RatingBar.(RatingBar.java:84) 
02-25 15:16:51.713: E/AndroidRuntime(309): ... 36 more 
02-25 15:16:51.713: E/AndroidRuntime(309): Caused by: java.lang.NullPointerException 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.graphics.drawable.LayerDrawable.addLayer(LayerDrawable.java:185) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.graphics.drawable.LayerDrawable.inflate(LayerDrawable.java:156) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:788) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.graphics.drawable.Drawable.createFromXml(Drawable.java:729) 
02-25 15:16:51.713: E/AndroidRuntime(309): at android.content.res.Resources.loadDrawable(Resources.java:1694) 
02-25 15:16:51.713: E/AndroidRuntime(309): ... 40 more 

私はAndroid RatingBar change star colorsから、このコードを取った: ratingbar_red.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:id="@android:id/background" android:drawable="@drawable/star_white" /> 
    <item android:id="@android:id/secondaryProgress" android:drawable="@drawable/star_green" /> 
    <item android:id="@android:id/progress" android:drawable="@drawable/star_green" /> 
</layer-list> 

と私のratingbarにこの描画可能ratingbar_red.xmlを割り当てる:

<RatingBar android:id="@+id/rbRating" 
style="?android:attr/ratingBarStyleSmall" 
android:layout_width="120dp" 
android:layout_height="wrap_content" 
android:progressDrawable="@drawable/ratingbar_red" /> 
+0

logcatからのコードスニペットも入れてください – Sumant

答えて

0
Caused by: android.content.res.Resources$NotFoundException: File res/drawable/ratingbar_red.xml 

retingbar.xmlはres/drawableフォルダにありますか?それを確認してください。

+0

はいres/drawableフォルダにあります。 –

関連する問題