Đây là crashlog từ Android Market:Android UnsupportedOperationException: Không thể chuyển đổi màu sắc: type = 0x2
android.view.InflateException: Binary XML file line #8: Error inflating class <unknown>
at android.view.LayoutInflater.createView(LayoutInflater.java:596)
at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56)
at android.view.LayoutInflater.onCreateView(LayoutInflater.java:644)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:669)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:724)
at android.view.LayoutInflater.inflate(LayoutInflater.java:479)
at android.view.LayoutInflater.inflate(LayoutInflater.java:391)
at android.view.LayoutInflater.inflate(LayoutInflater.java:347)
at com.designfuture.music.ui.dialog.MXMDialog.<init>(MXMDialog.java:73)
at com.designfuture.music.ui.dialog.MXMDialog.<init>(MXMDialog.java:58)
at com.designfuture.music.model.MXMStoreBuy.getBuyDialog(MXMStoreBuy.java:70)
at com.designfuture.music.ui.fragment.plbl.XLBLFragment$ViewHolder$3.onClick(XLBLFragment.java:290)
at android.view.View.performClick(View.java:3110)
at android.view.View$PerformClick.run(View.java:11934)
at android.os.Handler.handleCallback(Handler.java:587)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:132)
at android.app.ActivityThread.main(ActivityThread.java:4123)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:491)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.reflect.InvocationTargetException
at java.lang.reflect.Constructor.constructNative(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:416)
at android.view.LayoutInflater.createView(LayoutInflater.java:576)
... 22 more
Caused by: java.lang.UnsupportedOperationException: Can't convert to color: type=0x2
at android.content.res.TypedArray.getColor(TypedArray.java:326)
at android.widget.TextView.<init>(TextView.java:422)
at android.widget.TextView.<init>(TextView.java:364)
... 25 more
Vì vậy, cho những gì tôi có thể thấy vấn đề là ở
at com.designfuture.music.ui.dialog.MXMDialog.<init>(MXMDialog.java:73)
Nơi tôi có dòng mã này:
mHolder = new ViewHolder((ViewGroup) inflater.inflate(R.layout.dialog_mxm, null));
Đây là chức năng đầy đủ
public MXMDialog(Context context, String title) {
super(context, R.style.Dialog_MXM);
//getWindow()
LayoutParams lp= getWindow().getAttributes();
lp.gravity = Gravity.CENTER;
lp.dimAmount = 0.5f;
lp.flags = LayoutParams.FLAG_NOT_TOUCH_MODAL;
if(inflater == null)
inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
mHolder = new ViewHolder((ViewGroup) inflater.inflate(R.layout.dialog_mxm, null));
super.setContentView(mHolder.root);
if(title != null)
setTitle(title);
}
Đây là nội dung của R.layout.dialog_mxm
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:id="@android:id/title"
android:background="@drawable/tabwidget"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="5dp"
android:gravity="left"
android:paddingLeft="10dp"
android:textStyle="bold"
android:textColor="@color/orange_mxm"
style="@android:style/TextAppearance.Large"/>
<FrameLayout
android:id="@android:id/content"
android:background="@drawable/tabwidget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
Tôi nghĩ rằng vấn đề là trong TextView. Phong cách của chế độ xem văn bản đó không thể là vấn đề vì trực tiếp xuất phát từ Android nên tôi không nghĩ đây là vấn đề.
Các android: Format = "@ màu/orange_mxm" là này trong colors.xml tôi
<color name="orange_mxm">#FFff6500</color>
Đây là Dialog.MXM phong cách
<!-- DIALOG -->
<style name="Dialog.MXM" parent="@android:style/Theme.DeviceDefault.Dialog">
<item name="android:layout_width">wrap_content</item>
<item name="android:background">@android:color/transparent</item>
<item name="android:windowAnimationStyle">@style/Dialog.MXM.FadeAnimation</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowNoTitle">true</item>
<item name="android:gravity">center</item>
</style>
<style name="Dialog.MXM.FadeAnimation">
<item name="android:windowEnterAnimation">@android:anim/fade_in</item>
<item name="android:windowExitAnimation">@android:anim/fade_out</item>
</style>
Và tôi không nghĩ rằng đây là màu không chuẩn ...
Sự cố ở đâu? Làm sao tôi có thể giải quyết việc này?
Đăng phong cách xml của bạn cho Dialog.MXM. – adamp
MinSdkVersion của bạn là gì? – adamp
MinSdkVersion của tôi là 7 (android 2.1) – StErMi