2017-01-23 12 views
5

Привет Так что в нашем проекте мы используем библиотеку каллиграфии, она работает без проблем, но в настоящее время в одном из деятельности я добавил он держит сбой со следующими StackTrace:InflateException при использовании chrisjenx CalligraphyLayoutInflater, android.view.InflateException

01-23 02:25:32.178 3654-3654/? E/AndroidRuntime: FATAL EXCEPTION: main 
Process: com.example, PID: 3654 
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example/com.example.activities.MultipleActivity}: android.view.InflateException: Binary XML file line #98: Error inflating class com.example.components.WLayout 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2195) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
    at android.app.ActivityThread.access$800(ActivityThread.java:135) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:136) 
    at android.app.ActivityThread.main(ActivityThread.java:5017) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
    at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.view.InflateException: Binary XML file line #98: Error inflating class com.example.components.WLayout 
    at android.view.LayoutInflater.createView(LayoutInflater.java:621) 
    at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.createCustomViewInternal(CalligraphyLayoutInflater.java:211) 
    at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.access$000(CalligraphyLayoutInflater.java:20) 
    at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater$PrivateWrapperFactory2.onCreateView(CalligraphyLayoutInflater.java:302) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:690) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:756) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:759) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:759) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:759) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
    at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
    at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) 
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
    at com.example.activities.MultipleActivity.onCreate(MultipleActivity.java:62) 
    at android.app.Activity.performCreate(Activity.java:5231) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
    at android.app.ActivityThread.access$800(ActivityThread.java:135) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:136) 
    at android.app.ActivityThread.main(ActivityThread.java:5017) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
    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:423) 
    at android.view.LayoutInflater.createView(LayoutInflater.java:595) 
    at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.createCustomViewInternal(CalligraphyLayoutInflater.java:211) 
    at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.access$000(CalligraphyLayoutInflater.java:20) 
    at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater$PrivateWrapperFactory2.onCreateView(CalligraphyLayoutInflater.java:302) 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:690) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:756) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:759) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:759) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:759) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
    at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 
    at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:280) 
    at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 
    at com.example.activities.MultipleActivity.onCreate(MultipleActivity.java:62) 
    at android.app.Activity.performCreate(Activity.java:5231) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245) 
    at android.app.ActivityThread.access$800(ActivityThread.java:135) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1196) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:136) 
    at android.app.ActivityThread.main(ActivityThread.java:5017) 
    at java.lang.reflect.Method.invokeNative(Native Method) 
    at java.lang.reflect.Method.invoke(Method.java:515) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595) 
    at dalvik.system.NativeStart.main(Native Method) 
Caused by: android.view.InflateException: Binary XML file line #13: Error inflating class TextView 
    at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:714) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:756) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:759) 
    at android.view.LayoutInflater.parseInclude(LayoutInflater.java:840) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:746) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:759) 
    at android.view.LayoutInflater.rInflate(LayoutInflater.java:759) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:492) 
    at uk.co.chrisjenx.calligraphy.CalligraphyLayoutInflater.inflate(CalligraphyLayoutInflater.java:60) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:397) 
    at android.view.LayoutInflater.inflate(LayoutInflater.java:353) 

Я проверил несколько ответов, но не вижу никого, кто сталкивается с проблемой с текстовым просмотром.

Я прилагаю к каллиграфии следующим образом в моей деятельности

@Override 
protected void attachBaseContext(Context newBase) { 
    super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase)); 
} 

Тема деятельности выглядит следующим образом

<style name="AppTheme.Compat.ActionBar.Dark.NoBackground" parent="AppTheme.Compat.ActionBar.Dark"> 
     <item name="android:windowBackground">@null</item> 
     <item name="android:textColor">@color/alert_title</item> 
     <item name="android:textColorPrimary">@color/gray400</item> 
     <item name="android:colorAccent">@color/alert_button</item> 
    </style> 

Я заметил студию давая предупреждение для андроид: colorAccent и замените на «colorAccent», который удалил предупреждение, но авария осталась. Любые подсказки, что я делаю неправильно здесь?

+0

добавить java-код 'multipleActivity.class' – W4R10CK

+0

Любая удача с этим @amIT? –

+0

смог найти решение, разместившее его как ответ @David Argyle Thacker – amIT

ответ

1

Наконец понял, проблема, так как проблема происходит в TextView в соответствии с крешлогам

Вызванный: android.view.InflateException: Binary XML файл строка # 13: Ошибка при наполнении класса TextView

TLDR: не используйте setbackground для TextView его склонность к ошибкам (samsung), особенно если его вектор можно использовать.

Я проверял, удалив текстовое изображение, столкновение остановилось. Проблема была в том, что я использовал для установки фонового изображения для своего текстового изображения, и это был образ SVG, и я был библиотекой appCompact (v23). Установка вектора доступна только при помощи «app: srcCompat» или «setImageResource()» как надежный способ использования векторного переноса.

Я прочитал это сообщение в блоге, чтобы увидеть https://android-developers.googleblog.com/2016/02/android-support-library-232.html Я вижу предыдущее поддерживаемое Textview теперь вычеркнуто, что означает его нестабильность и склонность к ошибкам.

Я удалил вектор, который можно извлечь из текстового поля, и добавил другой вид изображения под текстовым изображением с помощью векторного рисования с помощью «src: compact», так что визуально они все еще выглядят одинаково с текстовым представлением с фоном.

Если размер приложения не является проблемой, вы также можете использовать ресурс png/jpg и избегать создания дополнительного изображения в своем макете.

 Смежные вопросы

  • Нет связанных вопросов^_^