u3l*_*u3l 5 java android android-fragments android-fragmentactivity
我有一个HomeFragment按钮,点击时调用以下内容:
Fragment frag = new CustFragment();
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.home_container, frag).commit();
Run Code Online (Sandbox Code Playgroud)
然后在我的FragmentActivity上面提到的碎片,我有:
@Override
public void onBackPressed() {
getFragmentManager().popBackStack();
super.onBackPressed();
}
Run Code Online (Sandbox Code Playgroud)
这就是我尝试过的,但如果我在frag片段上并按下后退按钮,它就不会回到最后一个片段(HomeFragment).相反,它会尝试返回上一个Activity,但由于没有(即之前的活动已经finish()调用过),它只会转到Android主屏幕.
我究竟做错了什么?
PS:如果我不清楚,只需在下面评论,我会尽力澄清.
更改
@Override
public void onBackPressed()
{
getFragmentManager().popBackStack();
super.onBackPressed();
}
Run Code Online (Sandbox Code Playgroud)
至
@Override
public void onBackPressed()
{
if(getFragmentManager().getBackStackEntryCount() > 0)
getFragmentManager().popBackStack();
else
super.onBackPressed();
}
Run Code Online (Sandbox Code Playgroud)
和
fragmentManager.beginTransaction().replace(R.id.home_container, frag).commit();
Run Code Online (Sandbox Code Playgroud)
至
fragmentManager.beginTransaction().replace(R.id.home_container, frag).addToBackStack(null).commit();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12683 次 |
| 最近记录: |