Android Настройки фрагмента Разделить на несколько экранов? - PullRequest
0 голосов
/ 01 мая 2020

Я пытаюсь реализовать многоэкранную настройку с фрагментом настроек на android, как показано на изображении,

enter image description here

Согласно документации Я сделал еще один фрагмент настроек

<Preference
        app:fragment="com.example.SyncFragment"
        .../>

вот фрагмент настроек,

class SettingsFragment : PreferenceFragmentCompat() {

    override fun onCreatePreferences(savedInstanceState: Bundle?, rootKey: String?) {
        setPreferencesFromResource(R.xml.root_preferences, rootKey)
    }
}

нажав на предпочтение, выбрасывается исключение,

  java.lang.IllegalStateException: Fragment SyncFragment{1bba416}
   (d133acbc-217d-4af9-a89b-c045c14ee9f6) id=0x7f0a00de} declared target fragment 
   SettingsFragment{3152a6} (39fdd40c-1430-4b0c-a3b4-0229f3dab696) id=0x7f0a00de}
   that does not belong to this FragmentManager!
        at androidx.fragment.app.FragmentManager.moveToState(FragmentManager.java:1148)
        at androidx.fragment.app.FragmentTransition.addToFirstInLastOut(FragmentTransition.java:1255)
        at androidx.fragment.app.FragmentTransition.calculateFragments(FragmentTransition.java:1138)
        at androidx.fragment.app.FragmentTransition.startTransitions(FragmentTransition.java:136)
        at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1989)
        at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1947)
        at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1849)
        at androidx.fragment.app.FragmentManager$4.run(FragmentManager.java:413)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:193)
        at android.app.ActivityThread.main(ActivityThread.java:6680)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...