android - 在 android fragment Activity 中实现后退按钮

标签 android android-fragments android-actionbar back-button

我正在使用本教程来实现 facebook 登录等。

Facebook Login

我在其中添加了新 fragment 以显示 friend 列表。现在,当我在新添加的 fragment 上按下后退按钮时,它会将我带到 SPLASH fragment ,我希望操作栏上的后退按钮具有相同的行为。意味着当我在我的新 fragment 上时,它会在操作栏上显示一个后退按钮。然后按下那个后退按钮让我回到 SPLASH 屏幕。

enter image description here

private void showFragment(int fragmentIndex, boolean addToBackStack) {
    FragmentManager fm = getSupportFragmentManager();
    FragmentTransaction transaction = fm.beginTransaction();
    for (int i = 0; i < fragments.length; i++) {
        if (i == fragmentIndex) {
            transaction.show(fragments[i]);
        } else {
            transaction.hide(fragments[i]);
        }
    }
    if (addToBackStack) {
        transaction.addToBackStack(null);
    }
    transaction.commit();
}

最佳答案

您可以通过两种方式做到这一点:

1。在你的 fragment 中

    @Override
    public void onDetach()
    {
    super.onDetach();
    PUT YOUR CODE HERE    
    }

这将在 fragment 完成时调用。

2。只需在 fragment 之间转换时添加 addToBackStack,如下所示:

    fragmentManager.beginTransaction().replace(R.id.content_frame,fragment).addToBackStack("tag").commit();

如果你写 addToBackStack(null) ,它会自己处理,但如果你给一个标签,你应该手动处理。

已编辑:

用于交易

FragmentTransaction fragmentTransaction =  getActivity().getSupportFragmentManager().beginTransaction();         
Fragment scheduleFragment = new ScheduleFragment();     
fragmentTransaction.replace(R.id.content_container, scheduleFragment, "scheduleFragment");
fragmentTransaction.addToBackStack("scheduleFragment");
fragmentTransaction.commit();

@Yawar actionbar 仅在 Activity 中,这将添加到 Activity 中,当您按下 actionbar 主页按钮时,它将被调用 -->

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
    case android.R.id.home:
        // app icon in action bar clicked; goto parent activity.
        this.finish();
        return true;
    default:
        return super.onOptionsItemSelected(item);
}
}

关于android - 在 android fragment Activity 中实现后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25153364/

相关文章:

Android操作按钮问题

java - Android RecyclerView,回收工作不正常

android - 点击admob的广告后游戏会退出

android - 使用 Wea​​r OS Android 拍照

android - 带有链接和标题android的Facebook图像共享

Android自定义加载器,LoaderManagerImpl.LoaderInfo.callOnLoadFinished只调用一次

android - 为 MapFragment 子类设置 GoogleMapOptions

java - 如何从适配器中删除处理程序

android - 如何将 'Action Bar Style Generator' 与 ActionBarSherlock 一起使用?

android - 购物车图标未与操作栏中的计数器一起显示