我有一个应用程序,其中一部分是相机拍摄照片的片段,当拍摄照片时,会加载另一个片段以显示图像。然后,如果不满意,用户可以选择重新拍摄照片。这应该回到上一个片段(相机),它会在显示叠加层时进行,但是仍然显示之前拍摄的图像。
编辑* * 我通过它进行了调试,当拍摄图像并加载下一个片段时,不会调用 onpause(),因此,当用户单击重拍时,不会调用 onresume 来重新实例化我的相机。我知道这里有类似的问题,但我似乎找不到我的问题的答案。* *编辑
应该说我在这里与其他人的工作整合,这造成了混乱。这是转到下一个片段和转到上一个片段的两种方法
下一个
public void gotoNextFragment(String nextTag, Fragment nextFragment){
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.setCustomAnimations(R.animator.enter_slide_in, R.animator.enter_slide_out);
boolean newlyCreated = false;
if(nextFragment == null){
nextFragment = Fragment.instantiate(this, nextTag);
newlyCreated = true;
}
//hide current fragment
ft.hide(fm.findFragmentByTag(Misc.currentContentFragmentTag));
if(newlyCreated){
ft.add(R.id.content_frame, nextFragment, nextTag);
}
else{
ft.show(nextFragment);
}
ft.addToBackStack(null);
ft.commit();
Misc.currentContentFragmentTag = nextTag;
}
以前的
public void gobackToPreviousFragment(String preFragmentTag,Fragment f){
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.setCustomAnimations(R.animator.close_slide_in,R.animator.close_slide_out);
ft.show(f);
ft.remove(fm.findFragmentByTag(Misc.currentContentFragmentTag));
ft.addToBackStack(null);
ft.commit();
Misc.currentContentFragmentTag = preFragmentTag;
}
如果有人对我需要做什么以确保调用 onResume() 有任何见解,我将不胜感激......
编辑仍然显示的图像预览是标准相机图像预览的图像预览,而不是来自用于预览的片段