dad*_*odo 2 android android-fragments back-stack
我有两个片段,第一个称为 Summer Jobs Fragment,其中包含项目列表,第二个称为 Summer Jobs Details Fragment,其中包含每个项目的详细信息。我试图设置回溯,以便当我从 Summer Jobs Detail Fragment 按下后退按钮时,我会回到 Summer Jobs Fragment。
这是我从 SJF 到 SJDF 初始转换的代码:
public void onItemClick(
AdapterView<?>parent,View view, int position, long id) {
SummerJobDetailsFragment.mMyAppsBundle.
putInt("value", position);
SummerJobDetailsFragment fragment =
new SummerJobDetailsFragment();
FragmentManager fragmentManager =
getFragmentManager();
list.setVisibility(parent.INVISIBLE);
fragmentManager.beginTransaction().replace(R.id.displayjobs_detailed, fragment).
addToBackStack( "tag" ).commit();
}
Run Code Online (Sandbox Code Playgroud)
这是我在主文件中修改 OnBackPressed() 的方法:
public void onBackPressed() {
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
if (getFragmentManager().getBackStackEntryCount() > 0 ) {
getFragmentManager().popBackStack();
} else {
super.onBackPressed();
}
}
Run Code Online (Sandbox Code Playgroud)
但是当我从 SJDF 按下返回键时,我得到一个空白屏幕:
小智 5
fragmentTransaction.addToBackStack() <--不要在你的第一个片段中包含这个。-->
if(getSupportFragmentManager().getBackStackEntryCount() !=1){
fragmentTransaction.addToBackStack(null);
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2253 次 |
最近记录: |