處理:Activity跳到fragment
首先明確我們的目的:Activity跳轉到fragment要經過好幾個Activity的跳轉,先從AActivity爲入口AActivity->BActivity->CActivity一直跳轉之後,再從CActivity中跳轉到AActivity的DownloadFragment界面。
首先,在AActivity的包含的fragment其中的personFragment中要跳到BActivity要這樣寫:
startActivityForResult(new Intent(context, BActivity.class),1); //帶值是1的請求碼過去
startActivityForResult(new Intent(context, CActivity.class),1); //帶值是1的請求碼過去
setResult(2); //結果碼和請求碼互不影響,設值任意
finish();
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == 2) {
setResult(2);
finish();
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 1 && resultCode == 2) {
MainActivity mainActivity = (MainActivity) getActivity();
mainActivity. gotoDownloadFragment ();
}
}
最後,是要在AActivity中寫上:
private FragmentManager fmanager;
private FragmentTransaction ftransaction;
public void gotoDownloadFragment() { //去下載頁面
fmanager = getSupportFragmentManager();
ftransaction = fmanager.beginTransaction();
DownloadFragment mDownloadFragment = new DownloadFragment();
ftransaction.replace(R.id.rl_fragment_container, mDownloadFragment);
ftransaction.commit();
}