建立一个简单的应用程序,我想通过物理按钮从片段回到活动。我怎么做?我试图杀死片段,但它无法正常工作。
答案 0 :(得分:12)
您可以通过在当前Fragment上调用getActivity()然后从Activity检索onBackPressed()方法来获取对FragmentActivity的引用。
getActivity().onBackPressed();
答案 1 :(得分:6)
我是这样做的,它的工作非常好。
开始片段:
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;
}
}