[英]How to return from activity to a specific fragment in navigation bottom
大家好,我正在開發一個 android 應用程序,我需要你的幫助。 在這個應用程序中,我有一個底部導航欄,因此我可以在 4 個片段 A、B、C 和 D 之間進行通信。我將 A 片段作為默認主片段。 問題是,如果我想啟動我的 navigationBottom 活動(A 是 LogInstrong 文本之后的默認主頁片段),我想以片段 C 為例。
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/nav"
app:startDestination="@id/account">
這可以通過條件導航來實現,我推薦這篇中等文章: https://medium.com/androiddevelopers/navigation-conditional-navigation-e82d7e4905f0
特別是圍繞此代碼片段的部分(從媒體文章復制粘貼)顯示如何根據共享首選項值更改默認屏幕:
donutListViewModel.isFirstRun().observe(viewLifecycleOwner) { s ->
if (s == UserPreferencesRepository.Selection.NOT_SELECTED) {
val navController = findNavController()
navController.navigate(
DonutListDirections.actionDonutListToSelectionFragment()
)
}
}
歡迎來到 Stackoverflow :)
解決方案在您的第一個活動中添加這些行(您將從該活動移至 BottomNav 類)
`Intent intent = new Intent(YourActivity.this, BottomNavAvtivity.class);
intent.putExtra("FromMainActivity", "1");
startActivity(intent);`
接下來,在您的第二個活動(實現 BottomNav 的類)中,在 BottomNavigation class 的 onCreate() 中編寫以下代碼:
Intent i = getIntent();
String data = i.getStringExtra("FromReservation");
if (data != null && data.contentEquals("1")) {
yourBottomNav.setFragment(yourFragment);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.