我環顧四周,但找不到真正的解決方案來解決我的特定問題。所以我有一個導航主要活動,其中包含一個導航抽屜和我的內容的框架佈局。在片段上強制返回按鈕
在我的導航抽屜裏有三個按鈕,每個按鈕都用特定的片段填充框架佈局。其中一個片段充當「主視圖」,單擊片段中的項目然後打開另一個片段,即「詳細視圖」。
我遇到的問題是這樣的:如果我在詳細信息視圖片段中,並且我點擊導航抽屜中的另一個按鈕以轉到另一個片段,然後單擊導航抽屜按鈕以返回到我的詳細信息查看然後它很好,我到那裏好。當我點擊後退按鈕時,它將我帶回到前一個片段而不是主視圖片段。有什麼方法可以解決這個問題嗎?
下面是如何我不同的片段之間在我的資產淨值抽屜移動片段:
private void selectItem(int position)
{
FragmentManager fragmentManager = getFragmentManager();
Fragment fragment = null;
Bundle args = new Bundle();
switch (position)
{
case 0:
fragment = new ReportIt();
fragment.setArguments(args);
break;
case 1:
Fragment f = fragmentManager.findFragmentByTag("article_view");
if (f == null)
{
fragment = new ReadIt();
fragment.setArguments(args);
}
else
{
fragment = f;
}
break;
case 2:
fragment = new FindIt();
fragment.setArguments(args);
break;
default:
fragment = new ReportIt();
fragment.setArguments(args);
break;
}
fragmentManager.beginTransaction()
.replace(R.id.content_frame, fragment).addToBackStack(null)
.commit();
mDrawerList.setItemChecked(position, true);
setTitle(mNavTitles[position]);
mDrawerLayout.closeDrawer(mDrawerList);
}
我的母版視圖片段傳遞控制的細節片段:
FragmentManager fragmentManager = getFragmentManager();
Fragment fragment = new ReadItDetail();
Bundle args = new Bundle();
args.putString("ArticleId", pr.GetId());
fragment.setArguments(args);
fragmentManager.beginTransaction().addToBackStack(null)
.replace(R.id.content_frame, fragment, "article_view")
.commit();
因此,從圖中可以看到,所有3個導航抽屜按鈕都是我主要活動的一部分。在我的主要活動中還有一個使用所示片段的框架佈局。導航抽屜按鈕框外的所有框都是碎片。主人和細節是我遇到的問題。當我移動到其他片段,然後返回到我的細節片段時,點擊後退按鈕,我希望它在100%的時間內回到主片段,而不是回到我可能已經在其他片段上的任何其他片段先前。
我很困惑你的應用程序的結構。主片段與其他片段的關係在哪裏?這些是一個一個加載嗎?如果是這樣,你想回到哪一個?聽起來像這只是一個背後的問題。 – Rarw
我已更新我的信息以澄清。 – DeveryDay