【发布时间】:2014-08-30 20:20:42
【问题描述】:
我正在构建一个简单的应用程序,我想使用物理按钮从片段返回到活动。我怎么做?我试图杀死片段,但它不起作用。
【问题讨论】:
-
你可以保存片段的状态 [like this][1] [1]: stackoverflow.com/questions/11353075/…
标签: android android-activity android-fragments
我正在构建一个简单的应用程序,我想使用物理按钮从片段返回到活动。我怎么做?我试图杀死片段,但它不起作用。
【问题讨论】:
标签: android android-activity android-fragments
您可以通过在当前 Fragment 上调用 getActivity() 来获取对 FragmentActivity 的引用,然后从 Activity 检索到的 onBackPressed() 方法中调用。
getActivity().onBackPressed();
【讨论】:
我就是这样做的,效果很好。
起始片段:
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;
}
}
【讨论】: