我正在使用支持库的最新版本 22.1.1。
我曾经这样去:
mRatingBar = (RatingBar) getActivity().findViewById(R.id.rating);
LayerDrawable layer = (LayerDrawable) mRatingBar.getProgressDrawable();
但升级后它在第 2 行崩溃ClassCastException
:
android.support.v4.graphics.drawable.DrawableWrapperHoneycomb cannot be cast to android.graphics.drawable.LayerDrawable
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:973)
at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1138)
at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:740)
at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1501)
at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:458)
at android.os.Handler.handleCallback(Handler.java:725)
我正在 Android 4.2.2 上进行测试。有任何提示和解决方法吗?
我遇到了同样的问题。我搜索了一下发现,如果我们写
<RatingBar
android:layout_width="wrap_content"
android:numStars="5"
android:layout_height="wrap_content"
/>
在 XML 文件中。那么,Android默认将RatingBar转换成,android.support.v7.widget.AppCompatRatingBar代替android.widget.RatingBar.
只需使用以下代码修改您的代码即可解决问题。
<android.widget.RatingBar
android:layout_width="wrap_content"
android:numStars="5"
android:layout_height="wrap_content"
/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)