Проблема времени запуска Snackbar в приложении Android TV - PullRequest
0 голосов
/ 27 марта 2020

Я новичок в Android, и я пытаюсь использовать Snackbar в Android телевизионном приложении, а не "тост" в качестве руководства Google. Тем не менее, во время выполнения и добавления исключений возникло, что cra sh мое приложение, и я не могу понять значение и как это исправить ... Пожалуйста, найдите здесь журнал отладки (из эмулятора)

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.eds.testtvapp, PID: 2560
    android.view.InflateException: Binary XML file line #26: Binary XML file line #26: Error inflating class android.widget.TextView
    Caused by: android.view.InflateException: Binary XML file line #26: Error inflating class android.widget.TextView
    Caused by: java.lang.reflect.InvocationTargetException
        at java.lang.reflect.Constructor.newInstance0(Native Method)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:430)
        at android.view.LayoutInflater.createView(LayoutInflater.java:645)
        at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58)
        at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785)
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727)
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:858)
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:518)
        at android.view.LayoutInflater.inflate(LayoutInflater.java:426)
        at com.google.android.material.snackbar.Snackbar.make(Snackbar.java:165)
        at com.eds.testtvapp.MainActivity.onClick(MainActivity.java:116)
        at android.view.View.performClick(View.java:5610)
        at android.view.View$PerformClick.run(View.java:22265)
        at android.os.Handler.handleCallback(Handler.java:751)
        at android.os.Handler.dispatchMessage(Handler.java:95)
        at android.os.Looper.loop(Looper.java:154)
        at android.app.ActivityThread.main(ActivityThread.java:6077)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
     Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 6: TypedValue{t=0x2/d=0x101009b a=1}
        at android.content.res.TypedArray.getColorStateList(TypedArray.java:528)
        at android.widget.TextView.<init>(TextView.java:783)
        at android.widget.TextView.<init>(TextView.java:704)
        at android.widget.TextView.<init>(TextView.java:700)
        at java.lang.reflect.Constructor.newInstance0(Native Method) 
        at java.lang.reflect.Constructor.newInstance(Constructor.java:430) 
        at android.view.LayoutInflater.createView(LayoutInflater.java:645) 
        at com.android.internal.policy.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:58) 
        at android.view.LayoutInflater.onCreateView(LayoutInflater.java:717) 
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:785) 
        at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:727) 
        at android.view.LayoutInflater.rInflate(LayoutInflater.java:858) 
        at android.view.LayoutInflater.rInflateChildren(LayoutInflater.java:821) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:518) 
        at android.view.LayoutInflater.inflate(LayoutInflater.java:426) 
        at com.google.android.material.snackbar.Snackbar.make(Snackbar.java:165) 
        at com.eds.testtvapp.MainActivity.onClick(MainActivity.java:116) 
        at android.view.View.performClick(View.java:5610) 
        at android.view.View$PerformClick.run(View.java:22265) 
        at android.os.Handler.handleCallback(Handler.java:751) 
        at android.os.Handler.dispatchMessage(Handler.java:95) 
        at android.os.Looper.loop(Looper.java:154) 
        at android.app.ActivityThread.main(ActivityThread.java:6077) 
        at java.lang.reflect.Method.invoke(Native Method) 
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756) 
Disconnected from the target VM, address: 'localhost:8619', transport: 'socket'

Я пытался исследовать эту тему, но я не нашел, как решить эту проблему, особенно загадку, следующую за

     Caused by: java.lang.UnsupportedOperationException: Failed to resolve attribute at index 6: TypedValue{t=0x2/d=0x101009b a=1}

Чтобы создать снэк-бар, я использую этот код в своей основной (и только! ) активность:

Snackbar.make(this.findViewById(android.R.id.content),"Boot Snackbar", Snackbar.LENGTH_LONG).show();

Пожалуйста, найдите здесь манифест:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    package="com.eds.testtvapp">

    <uses-feature
        android:name="android.hardware.touchscreen"
        android:required="false" />
    <uses-feature
        android:name="android.software.leanback"
        android:required="true" />

    <application
        android:allowBackup="true"
        android:banner="@mipmap/ic_launcher"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">

        <activity android:name=".MainActivity">
            android:name=".ConfigActivity"
            android:theme="@style/Theme.Leanback">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LEANBACK_LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

И я использовал эти внешние зависимости (пытаясь иметь как можно меньше зависимостей)

    implementation 'androidx.leanback:leanback:1.0.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    implementation 'com.google.android.material:material:1.1.0'

Любая помощь, или подсказки, чтобы или решить проблему и / или иметь простой / эффективный и "приятный глазу" способ отображения сообщений на android ТВ, будет приветствоваться ...

Спасибо за Ваш помощь!

...