带后箭头的操作栏

时间:2016-12-04 15:41:06

标签: android android-actionbar

我正在创建一个应用程序,我想在一个片段中放置一个带有后箭头的操作栏 所以,我已经有了动作栏的片段,但不知道如何将后箭头放在上面。 你能帮帮我吗? 谢谢,
吉列尔梅
This is the fragment with an action bar tag

4 个答案:

答案 0 :(得分:3)

如果要显示片段中的后退按钮,请在片段中添加以下行:  ((AppCompatActivity)getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);

这样做会更好。您可以在清单文件中添加活动的父级,以确保在按下后退箭头时打开父活动。

答案 1 :(得分:0)

尝试以下代码

实现OnBackStackChangedListener并将此代码添加到Fragment Activity中。

@Override
public void onCreate(Bundle savedInstanceState) {
    //Listen for changes in the back stack
    getSupportFragmentManager().addOnBackStackChangedListener(this);
    //Handle when activity is recreated like on orientation Change
    shouldDisplayHomeUp();
}

@Override
public void onBackStackChanged() {
    shouldDisplayHomeUp();
}

public void shouldDisplayHomeUp(){
   //Enable Up button only  if there are entries in the back stack
   boolean canback = getSupportFragmentManager().getBackStackEntryCount()>0;
   getSupportActionBar().setDisplayHomeAsUpEnabled(canback);
}

@Override
public boolean onSupportNavigateUp() {
    //This method is called when the up button is pressed. Just the pop back stack.
    getSupportFragmentManager().popBackStack();
    return true;
}

答案 2 :(得分:0)

在顶部添加你的onCreate

  ActionBar actionBar = getSupportActionBar();
    if (actionBar != null) {
        actionBar.setDisplayHomeAsUpEnabled(true);
    }

并向活动添加功能

 public boolean onOptionsItemSelected(MenuItem item) {
    int id = item.getItemId();
    if (id == android.R.id.home) {
        getSupportFragmentManager().popBackStack();
        finish();
        return true;
    }
    return super.onOptionsItemSelected(item);
}
祝你好运

答案 3 :(得分:0)

在setcontentview()

之后添加以下行
 //by doin that Back arrow will appear
 getSupportActionBar().setDisplayHomeAsUpEnabled(true);

在onCreate()之后创建以下重写方法。

 @Override
    public boolean onSupportNavigateUp() {
        finish();
        return super.onSupportNavigateUp();
    }