Как правильно использовать фрагменты с помощью компонента навигации? - PullRequest
0 голосов
/ 09 июля 2019

Существует несколько способов переключения видов.

Однако я часто получаю эту ошибку.

java.lang.IllegalArgumentException: navigation destination io.monolabs.finalmouse:id/up is unknown to this NavController
2019-07-09 15:07:07.548 17641-17641/com.example W/System.err:     at androidx.navigation.NavController.navigate(NavController.java:804)
2019-07-09 15:07:07.548 17641-17641/com.example W/System.err:     at androidx.navigation.NavController.navigate(NavController.java:745)
2019-07-09 15:07:07.548 17641-17641/com.example W/System.err:     at androidx.navigation.NavController.navigate(NavController.java:731)
2019-07-09 15:07:07.548 17641-17641/com.example W/System.err:     at androidx.navigation.NavController.navigate(NavController.java:719)
2019-07-09 15:07:07.548 17641-17641/com.example W/System.err:     at com.example.ui.MainActivity.openWeb(MainActivity.kt:45)
2019-07-09 15:07:07.548 17641-17641/com.example W/System.err:     at com.example.ui.MainActivity$onCreate$1.onClick(MainActivity.kt:58)
2019-07-09 15:07:07.548 17641-17641/com.example W/System.err:     at android.view.View.performClick(View.java:6597)
2019-07-09 15:07:07.548 17641-17641/com.example W/System.err:     at android.view.View.performClickInternal(View.java:6574)
2019-07-09 15:07:07.548 17641-17641/com.example W/System.err:     at android.view.View.access$3100(View.java:778)
2019-07-09 15:07:07.548 17641-17641/com.example W/System.err:     at android.view.View$PerformClick.run(View.java:25885)
2019-07-09 15:07:07.549 17641-17641/com.example W/System.err:     at android.os.Handler.handleCallback(Handler.java:873)
2019-07-09 15:07:07.549 17641-17641/com.example W/System.err:     at android.os.Handler.dispatchMessage(Handler.java:99)
2019-07-09 15:07:07.549 17641-17641/com.example W/System.err:     at android.os.Looper.loop(Looper.java:193)
2019-07-09 15:07:07.549 17641-17641/com.example W/System.err:     at android.app.ActivityThread.main(ActivityThread.java:6669)
2019-07-09 15:07:07.549 17641-17641/com.example W/System.err:     at java.lang.reflect.Method.invoke(Native Method)
2019-07-09 15:07:07.549 17641-17641/com.example W/System.err:     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
2019-07-09 15:07:07.549 17641-17641/com.example W/System.err:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
  1. findNavController (R.id.fragment) .navigate (R.id.webviewFragment)
  2. findNavController (). Навигация (R.id.webviewFragment)
  3. Navigation.findNavController (R.id.nav_host) .navigate (R.id.webviewFragment)
  4. Navigation.findNavController (MView) .navigate (R.id.action_mainFragment_to_webFragment)

...

Есть действительно много способов реализовать это.

Для findNavController().

  1. без параметров
  2. param: Просмотр объекта
  3. param: ViewId (R.id.nav_host)

Для navigate()

  1. param: action_id
  2. param: фрагмент_идентификации в navigation.xml

И я хотел бы знать эти случаи.

  1. В действии
  2. Во фрагменте
  3. В InnerClass of Activity
  4. во внутреннем классе фрагмента
  5. В адаптере
  6. Другие случаи ...

Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...