我有一個主要活動A,其上有4個片段。按鈕單擊時,片段依次出現。如何導航到之前活動的前一個片段
我點擊最後一個片段(第四)按鈕後,我被帶到一個新的活動B.
我如何能實現後退按鈕按這樣就可以了,當用戶點擊。他被帶到活動A的第四部分?
我有一個主要活動A,其上有4個片段。按鈕單擊時,片段依次出現。如何導航到之前活動的前一個片段
我點擊最後一個片段(第四)按鈕後,我被帶到一個新的活動B.
我如何能實現後退按鈕按這樣就可以了,當用戶點擊。他被帶到活動A的第四部分?
你需要使用回棧。每次添加更改片段時,都需要將該片段添加到後退堆棧中。
//Create an instance of your fragment;
MyFragment frag = MyFragment.newInstance();
//replace the fragment in a normal fragment transaction
getSupportFragmentManager().beginTransaction()
.replace(R.id.container, frag, "MyFragment Tag")
//add to the back stack
.addToBackStack(f)
.commit();
關於這一點,現在是後退按鈕將遍歷每個以前的片段。因此,點擊片段3後,如果您點擊後退按鈕,您將看到片段2等。
這可能不是您想要的結果,因此您可能只想添加片段到後退堆棧片段4.
您可以從活動B將數據傳遞到活動A,onBackPressed功能
@Override
public void onBackPressed() {
super.onBackPressed();
Intent i = new Intent(getApplicationContext(), AcvityA.class);
i.putExtra("position","4");
startActivity(i);
}
在活動爲您提供
Bundle extras = getIntent().getExtras();
if (extras != null) {
String position = extras.getString("position");
//load the fragment based in position
}
希望這有助於裏面。問候
所以你想要進入活動B的第四部分活動B? – Real73
好吧,首先我想說,你不會從片段中做到這一點。 (不!)你會做一個回調的活動,將爲您管理這個。只需保留一個堆棧在活動級別即可。 – StarWind0