Не удалось найти провайдера во фрагменте настроек android tv.

Ошибка поиска провайдера com.google.android.katniss.search.searchapi.VoiceInteractionProvider для пользователя 0; Ожидается, что найдется действительный ContentProvider для этого органа для фрагмента предпочтений для телевизора.

E / AndroidRuntime: FATAL EXCEPTION: main Процесс: com.omniwyse.tvprefdemo, PID: 2025 java.lang.RuntimeException: не удалось запустить действие ComponentInfo {com.omniwyse.tvprefdemo / com.omniwyse.tvprefdemo.SettingActivity}: android.view.InflateException: строка двоичного файла XML № 18: строка двоичного файла XML № 18: ошибка наполнения класса в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2913) в android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:3048) в android.app.servertransaction.LaunchActivityItem.execute (LaunchActivityItem.java:78) в android.app.servertransaction.TransactionExecutor.executeCallbacks (TransactionExecutor.java:108) в android.app.servertransaction.TransactionExecutor.execute (TransactionExecutor.java:68) в android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1808) в android.os.Handler.dispatchMessage (Handler.java:106) в android.os.Looper.loop (Looper.java:193) в android.app.ActivityThread.main (ActivityThread.java:6669) в java.lang.reflect.Method.invoke (собственный метод) в com.android.internal.os.RuntimeInit $ MethodAndArgsCaller.run (RuntimeInit.java:493) в com.android.internal.os.ZygoteInit.main (ZygoteInit.java:858) Вызвано: android.view.InflateException: строка двоичного файла XML № 18: строка двоичного файла XML № 18: ошибка расширения класса Вызвано: android.view.InflateException: строка двоичного файла XML № 18: ошибка надувания класса Вызвано: java.lang.reflect.InvocationTargetException в java.lang.reflect.Constructor.newInstance0 (собственный метод) в java.lang.reflect.Constructor.newInstance (Constructor.java:343) в android.view.LayoutInflater.createView (LayoutInflater.java:647) в android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:790) в android.view.LayoutInflater.createViewFromTag (LayoutInflater.java:730) в android.view.LayoutInflater.inflate (LayoutInflater.java:492) в android.view.LayoutInflater.inflate (LayoutInflater.java:423) в android.support.v17.preference.BaseLeanbackPreferenceFragment.onCreateRecyclerView (BaseLeanbackPreferenceFragment.java:42) в android.support.v14.preference.PreferenceFragment.onCreateView (PreferenceFragment.java:270) в android.support.v17.preference.LeanbackPreferenceFragment.onCreateView (LeanbackPreferenceFragment.java:54) в android.app.Fragment.performCreateView (Fragment.java:2522) в android.app.FragmentManagerImpl.moveToState (FragmentManager.java:1298) в android.app.FragmentManagerImpl.addAddedFragments (FragmentManager.java:2426) в android.app.FragmentManagerImpl.executeOpsTogether (FragmentManager.java:2205) в android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute (FragmentManager.java:2161) в android.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:2062) в android.app.FragmentManagerImpl.dispatchMoveToState (FragmentManager.java:3051) в android.app.FragmentManagerImpl.dispatchActivityCreated (FragmentManager.java:2998) в android.app.Fragment.performActivityCreated (Fragment.java:2537) в android.app.FragmentManagerImpl.moveToState (FragmentManager.java:1318) в android.app.FragmentManagerImpl.addAddedFragments (FragmentManager.java:2426) в android.app.FragmentManagerImpl.executeOpsTogether (FragmentManager.java:2205) в android.app.FragmentManagerImpl.removeRedundantOperationsAndExecute (FragmentManager.java:2161) в android.app.FragmentManagerImpl.execPendingActions (FragmentManager.java:2062) в android.app.FragmentManagerImpl.dispatchMoveToState (FragmentManager.java:3051) в android.app.FragmentManagerImpl.dispatchActivityCreated (FragmentManager.java:2998) в android.app.FragmentController.dispatchActivityCreated (FragmentController.java:182) в android.app.Activity.performCreate (Activity.java:7143) в android.app.Activity.performCreate (Activity.java:7127) в android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1271) в android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2893)

     public class SettingsFragment extends LeanbackSettingsFragment {
@Override
public void onPreferenceStartInitialScreen() {

    startPreferenceFragment(new PrefsFragment());
}

@Override
public boolean onPreferenceStartFragment(PreferenceFragment caller, Preference pref) {
    final Fragment f =
            Fragment.instantiate(getActivity(), pref.getFragment(), pref.getExtras());
    f.setTargetFragment(caller, 0);
    if (f instanceof PreferenceFragment || f instanceof PreferenceDialogFragment) {
      //  startPreferenceFragment(f);
    } else {
       // startImmersiveFragment(f);
    }
    return true;
}

@Override
public boolean onPreferenceStartScreen(PreferenceFragment caller, PreferenceScreen pref) {
    final Fragment f = new PrefsFragment();
    final Bundle args = new Bundle(1);
    args.putString(PreferenceFragment.ARG_PREFERENCE_ROOT, pref.getKey());
    f.setArguments(args);
    startPreferenceFragment(f);
    return true;
}

}

@SuppressLint ("ValidFragment") открытый класс PrefsFragment расширяет LeanbackPreferenceFragment {

@Override
public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
    // Load the preferences from an XML resource
    setPreferencesFromResource(R.xml.preferences, rootKey);
}

}

сначала поделитесь своим кодом

Arahasya 26.10.2018 08:37

Вы можете проверить, что я добавил

Chandrakant Kondke 26.10.2018 10:34

Ошибка находится в строке 18 в файле xml. Внимательно прочтите журнал ошибок. Проверьте свой xml файл

Arahasya 26.10.2018 10:38

в моем xml нет строки № 18, на самом деле эта ошибка возникает из класса библиотеки Leanback

Chandrakant Kondke 26.10.2018 11:01

Я решил проблему. Мы должны установить тему как <item name = "preferenceTheme"> @ style / PreferenceThemeOverlay.v14.Lea‌ nback </item> для активности хоста

Chandrakant Kondke 26.10.2018 11:20
1
5
346
1

Ответы 1

Я решать эту проблему с изменением предпочтения темы Theme.Leanback

В вашем файле манифеста:

<activity android:name=".ui.setting.YourSettingPrefActivity"
        android:exported="true"
        android:theme="@style/Theme.Pref.LeanbackPreferences"/>

А вот на styles.xml

<style name="Theme.Pref.LeanbackPreferences" parent="Theme.Leanback">
    <item name="preferenceTheme">@style/PreferenceThemeOverlay.v14.Leanback</item>
    <item name="android:windowIsTranslucent">true</item>
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:colorPrimary">@color/fastlane_background</item>
</style>

Другие вопросы по теме