如何从片段恢复到以前的活动
答
我这样做,它的工作非常好。
开始片段:
public void showMyFragment(View V){
Fragment fragment = null;
fragment = new MyFragment();
if (fragment != null) {
FragmentManager fragmentManager = getFragmentManager();
fragmentManager.beginTransaction().replace(R.id.frame_container, fragment).addToBackStack(null).commit();
}
}
这是如何结束与后退按钮片段:
@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount() == 0) {
this.finish();
} else {
getFragmentManager().popBackStack();
}
}
您的片段:
public class MyFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v=inflater.inflate(R.layout.activity_info, null);
return v;
}
}
答
您可以通过调用当前Fragment上的getActivity()来获取对FragmentActivity的引用,然后通过Activity获取onBackPressed()方法进行调用。
getActivity().onBackPressed();
你可以保存片段 [这样] [1] [1]的状态:http://stackoverflow.com/questions/11353075/how-can-i-maintain-fragment-state-when-added到后面的堆栈 – 2014-08-30 20:24:25
你的问题没有意义。 'Activity'包含'Fragment',因此你不能''从''fragment'回到'activity'。 – eleven 2014-08-30 20:25:32