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