我有2個活動。裏面第一次活動有最初一個片段如何在最上面的片段上觸發onResume(),後面按
MainActivity.java
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.myactivity);
if(savedInstanceState == null) {
getFragmentManager().beginTransaction().replace(R.id.fragmentContainer, MainFragment.newInstance().commit();
}
}
}
然後點擊一個按鈕replaces
與另一個片段。
@Override
public void onClick(View arg0) {
DetailFragment detail = (DetailFragment)getFragmentManager().findFragmentById(R.id.detail);
getFragmentManager().beginTransaction().replace(R.id.detail, detail, "detail").commit();
}
在2nd Fragment上還有另一個按鈕,點擊它可以打開一個新的活動。
Intent popUp = new Intent(MainActivity.this, PopUp.class);
popUp.putExtra("CarID", carID);
startActivity(popUp);
從PopUp Activity中,按下設備將返回到MainActivity。 現在面臨的挑戰是應用程序的業務邏輯當用戶返回時,我需要更新以前MainActivity的ActionBar標題。
爲此,我在MainFragment和DetailFragment上偵聽onResume()。當用戶從DetailFragment返回MainFragment時,我用不同的文本更新ActionBar標題。
所以我需要的時候正是用戶從追溯到知道:
1)彈出活動>詳細內容片斷
2)詳細片段>主要碎片
目前onResume()
被解僱當PopUpActivity
關閉時,MainFragment
和DetailFragment
。在MainFragment
我不能確切地找出是否onResume()
被稱爲第一或第二種情況。
只有當用戶從PopUpActivity
>DetailFragment
時,纔會在DetailFragment
上觸發onResume()
的最佳做法是什麼。換句話說,我如何從DetailFragment
檢測到PopUpActivity
在沒有開火的情況下關閉onResume()
on MainFragment
。
我給它一個去。謝謝。 – Adnan