在 android 片段活动中实现后退按钮 [重复]

问题描述 投票:0回答:1

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

Facebook 登录

我在此添加了新片段以显示朋友列表。现在,当我在新添加的片段上按下后退按钮时,它会将我带到 SPLASH 片段,我希望操作栏上的后退按钮具有相同的行为。意味着当我在我的新片段上时,它会在操作栏上显示一个后退按钮。然后按下那个后退按钮让我回到 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();
}
android android-fragments android-actionbar back-button
1个回答
-1
投票

经过艰苦的搜索,我在 stackoverflow 上得到了这段代码希望这对您有帮助

ActionBar actionBar = getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);// in on Create()

搜索代码

onOptionsItemSelected(MenuItem item)
并以这种方式编辑它

@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
    case android.R.id.home:
        // change your behaviour here
        Intent intent = new Intent(this, yourclass.class);// i started new activity here
        intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        startActivity(intent);
        return true;
  }
    return super.onOptionsItemSelected(item);
}
© www.soinside.com 2019 - 2024. All rights reserved.