Intereting Posts
DexIndexOverflowException только при выполнении тестов Использование телефона Android в качестве USB-хоста для подключения внешних дисков к телефону и доступа к памяти внешнего накопителя через телефон Отслеживать длительность звонка Придерживайтесь в нижней части фрагмента панели просмотра внутри координатора Что такое фавикон в 2013 году? Как уменьшить задержку при декодировании видео / avc MediaCodec Как переключиться с по умолчанию ConstraintLayout на RelativeLayout в Android Studio 2.3.3 Заполните форму в WebView с помощью Javascript Изменение цвета текста в тексте Найти местоположение звонящего во время разговора по телефону с помощью Android Как Android SharedPreferences сохранять / хранить объекты PrintedPdfDocument всегда приводит к повреждению PDF-файла Модернизация 2 / OkHttp: Отменить все выполняемые запросы Задержка при показе изображения используется растровое изображение в android Как объединить оба DISPLAY_NAME и NUMBER в настраиваемом CursorAdapter?

Android 'InvocationTargetException' и 'UnsupportedOperationException'

Я столкнулся с проблемой на OPPO X905 и OPPO X907, оба из Android 4.0.3 (API-уровень 15), я не использовал API более высокого уровня, и я искал в Google и SO, все они отличаются от моей проблемы , Ниже мой xml-файл и журнал сбоев, спасибо заранее.

Xml-файл: (поле разделителя было первоначально 7.5dp, может это проблема?)

<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/item_full" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="#eff0f7" android:baselineAligned="false" android:orientation="vertical" > <RelativeLayout android:id="@+id/item_first_half" android:layout_width="match_parent" android:layout_height="36dp" android:orientation="vertical" > <View android:id="@+id/first_path" android:layout_width="4dp" android:layout_height="4dp" android:layout_marginLeft="40dp" android:layout_marginStart="40dp" android:background="@drawable/selector_car_action_path" /> <ImageView android:id="@+id/im_car_direction_icon" android:layout_width="28dp" android:layout_height="28dp" android:layout_gravity="top" android:layout_marginLeft="28dp" android:layout_marginStart="28dp" android:layout_marginTop="4dp" android:background="@drawable/selector_car_action_background" android:padding="2dp" android:src="@drawable/selector_navi_icon_63" /> <View android:id="@+id/second_path" android:layout_width="4dp" android:layout_height="4dp" android:layout_below="@id/im_car_direction_icon" android:layout_marginLeft="40dp" android:layout_marginStart="40dp" android:background="@drawable/selector_car_action_path" /> <TextView android:id="@+id/tv_direction" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginEnd="15dp" android:layout_marginLeft="68dp" android:layout_marginRight="15dp" android:layout_marginStart="68dp" android:singleLine="true" android:text="" android:textColor="@drawable/selector_car_route_turn_text" android:textSize="16sp" /> </RelativeLayout> <RelativeLayout android:id="@+id/item_second_half" android:layout_width="match_parent" android:layout_height="32dp" > <View android:id="@+id/third_path" android:layout_width="4dp" android:layout_height="match_parent" android:layout_marginLeft="40dp" android:layout_marginStart="40dp" android:background="@drawable/selector_car_action_path" /> <TextView android:id="@+id/tv_road_name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="68dp" android:layout_marginStart="68dp" android:layout_marginTop="4dp" android:singleLine="true" android:text="" android:textColor="@drawable/selector_car_route_desc" android:textSize="16sp" /> <TextView android:id="@+id/divider_for_road_and_distance" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginEnd="7dp" android:layout_marginLeft="7dp" android:layout_marginRight="7dp" android:layout_marginStart="7dp" android:layout_marginTop="4dp" android:layout_toEndOf="@id/tv_road_name" android:layout_toRightOf="@id/tv_road_name" android:singleLine="true" android:text="|" android:textColor="@drawable/selector_car_route_desc" android:textSize="16sp" /> <TextView android:id="@+id/tv_ride_distance" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginEnd="15dp" android:layout_marginRight="15dp" android:layout_marginTop="4dp" android:layout_toEndOf="@id/divider_for_road_and_distance" android:layout_toRightOf="@id/divider_for_road_and_distance" android:singleLine="true" android:text="" android:textColor="@drawable/selector_car_route_desc" android:textSize="16sp" /> <View android:layout_width="match_parent" android:layout_height="1px" android:layout_alignParentBottom="true" android:layout_marginEnd="15dp" android:layout_marginLeft="68dp" android:layout_marginRight="15dp" android:layout_marginStart="68dp" android:background="#dee1f0" /> </RelativeLayout> </LinearLayout> 

Файл drawable / selector_car_route_desc является

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:color="@color/color_999999"/> <item android:state_selected="false" android:color="@color/color_333333"/> </selector> 

Аварийный журнал:

 android.view.InflateException: Binary XML file line #106: Error inflating class <unknown> android.view.LayoutInflater.createView(LayoutInflater.java:606) com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) android.view.LayoutInflater.onCreateView(LayoutInflater.java:653) android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678) android.view.LayoutInflater.rInflate(LayoutInflater.java:739) android.view.LayoutInflater.rInflate(LayoutInflater.java:742) android.view.LayoutInflater.inflate(LayoutInflater.java:489) android.view.LayoutInflater.inflate(LayoutInflater.java:396) android.view.LayoutInflater.inflate(LayoutInflater.java:352) com.tencent.map.ama.route.ui.view.e.<init>(CarRouteShowItem.java:78) com.tencent.map.ama.route.ui.view.fa(CarRouteShowView.java:100) com.tencent.map.ama.route.ui.view.da(CarRouteDetailView.java:37) com.tencent.map.ama.route.ui.MapStateCarRoute.e(MapStateCarRoute.java:418) com.tencent.map.ama.route.ui.MapStateCarRoute$1.run(MapStateCarRoute.java:255) android.os.Handler.handleCallback(Handler.java:605) android.os.Handler.dispatchMessage(Handler.java:92) android.os.Looper.loop(Looper.java:137) android.app.ActivityThread.main(ActivityThread.java:4476) java.lang.reflect.Method.invokeNative(Native Method) java.lang.reflect.Method.invoke(Method.java:511) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:808) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:575) dalvik.system.NativeStart.main(Native Method) cause by: java.lang.reflect.InvocationTargetException: null java.lang.reflect.Constructor.constructNative(Native Method) java.lang.reflect.Constructor.newInstance(Constructor.java:417) android.view.LayoutInflater.createView(LayoutInflater.java:586) com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) android.view.LayoutInflater.onCreateView(LayoutInflater.java:653) android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678) android.view.LayoutInflater.rInflate(LayoutInflater.java:739) android.view.LayoutInflater.rInflate(LayoutInflater.java:742) android.view.LayoutInflater.inflate(LayoutInflater.java:489) android.view.LayoutInflater.inflate(LayoutInflater.java:396) android.view.LayoutInflater.inflate(LayoutInflater.java:352) com.tencent.map.ama.route.ui.view.e.<init>(CarRouteShowItem.java:78) com.tencent.map.ama.route.ui.view.fa(CarRouteShowView.java:100) com.tencent.map.ama.route.ui.view.da(CarRouteDetailView.java:37) com.tencent.map.ama.route.ui.MapStateCarRoute.e(MapStateCarRoute.java:418) com.tencent.map.ama.route.ui.MapStateCarRoute$1.run(MapStateCarRoute.java:255) android.os.Handler.handleCallback(Handler.java:605) android.os.Handler.dispatchMessage(Handler.java:92) android.os.Looper.loop(Looper.java:137) android.app.ActivityThread.main(ActivityThread.java:4476) java.lang.reflect.Method.invokeNative(Native Method) java.lang.reflect.Method.invoke(Method.java:511) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:808) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:575) dalvik.system.NativeStart.main(Native Method) cause by: java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x12 android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:463) android.view.View.<init>(View.java:2849) android.widget.TextView.<init>(TextView.java:499) android.widget.TextView.<init>(TextView.java:492) java.lang.reflect.Constructor.constructNative(Native Method) java.lang.reflect.Constructor.newInstance(Constructor.java:417) android.view.LayoutInflater.createView(LayoutInflater.java:586) com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:56) android.view.LayoutInflater.onCreateView(LayoutInflater.java:653) android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678) android.view.LayoutInflater.rInflate(LayoutInflater.java:739) android.view.LayoutInflater.rInflate(LayoutInflater.java:742) android.view.LayoutInflater.inflate(LayoutInflater.java:489) android.view.LayoutInflater.inflate(LayoutInflater.java:396) android.view.LayoutInflater.inflate(LayoutInflater.java:352) com.tencent.map.ama.route.ui.view.e.<init>(CarRouteShowItem.java:78) com.tencent.map.ama.route.ui.view.fa(CarRouteShowView.java:100) com.tencent.map.ama.route.ui.view.da(CarRouteDetailView.java:37) com.tencent.map.ama.route.ui.MapStateCarRoute.e(MapStateCarRoute.java:418) com.tencent.map.ama.route.ui.MapStateCarRoute$1.run(MapStateCarRoute.java:255) android.os.Handler.handleCallback(Handler.java:605) android.os.Handler.dispatchMessage(Handler.java:92) android.os.Looper.loop(Looper.java:137) android.app.ActivityThread.main(ActivityThread.java:4476) java.lang.reflect.Method.invokeNative(Native Method) java.lang.reflect.Method.invoke(Method.java:511) com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:808) com.android.internal.os.ZygoteInit.main(ZygoteInit.java:575) dalvik.system.NativeStart.main(Native Method) 

Код CarRouteShowItem.java:78 выглядит следующим образом:

 View mView = LayoutInflater.from(mContext).inflate(R.layout.car_route_detail_item, null); 

CarRouteShowItem не является дочерним элементом View, его код выглядит следующим образом:

 public class CarRouteShowItem { private Context mContext; private View mView; public CarRouteShowItem(Context context) { mContext = context; // mView is used by caller mView = LayoutInflater.from(mContext).inflate(R.layout.car_route_detail_item, null); // some view finds } // some other methods related with specific logic } 

Графический макет можно было просмотреть в Eclipse с уровня API 8 до уровня API 23, но когда я просмотрю его в Android Studio на уровне API 15, он выдает сообщение об ошибке: Не удалось разрешить ресурс @ style / Widget.TextView , другой API Уровни в порядке, но я не использовал стиль для TextView.

Все, что вам нужно – это дополнительный глаз 🙂

Введите описание изображения здесь

  android:layout_height="1px" 

Надеюсь, что вы можете видеть сейчас. Последний ребенок во втором RelativeLayout с id item_second_half типа <View измените его на

 android:layout_height="1dp" 

Позвольте мне взглянуть назад как можно скорее

Я думаю, что проблема находится где-то в стиле @, указанном в AppTheme. Попробуйте удалить все из них (сбросить до значения по умолчанию) и добавить один за другим до тех пор, пока не произойдет сбой. Таким образом, вы можете найти стиль, который имеет неправильные атрибуты.

Если вы увидите ошибку журнала, вы увидите, что InvocationTargetException происходит через java.lang.UnsupportedOperationException: невозможно преобразовать в измерение: type = 0x12

ОБНОВИТЬ

Я заметил что-то плохое в вашем XML-файле, вы используете цвет текста как «drawable», вам нужно использовать xml-файл цветов ( пример )

ОБНОВЛЕНИЕ

После большего поиска я нашел этот файл, если вы видите строку 499 и 492 (которая появляется в logerror), вы увидите, что, возможно, он не смог найти стиль для textview