我正在尝试在某些用户操作上禁用支持操作栏中的“向上”按钮。根据{{3}},setHomeButtonEnabled应该做我想要的。但是,该按钮仍然可以点击。 (我可以毫无问题地禁用操作栏中的其他图标。)
我试图从片段中禁用它。 我禁用的代码是:
@Override
public void onPrepareOptionsMenu (Menu menu) {
if (isUpdating) {
getBaseActivity().getSupportActionBar().setHomeAsUpIndicator(getResources().getDrawable(R.drawable.ic_backgrey));
getBaseActivity().getSupportActionBar().setHomeButtonEnabled(false);
for (int i = 0; i < menu.size(); i++) {
menu.getItem(i).setEnabled(false);
menu.getItem(i).getIcon().setAlpha(64);
}
} else {
getBaseActivity().getSupportActionBar().setHomeButtonEnabled(true);
getBaseActivity().getSupportActionBar().setHomeAsUpIndicator(getResources().getDrawable(R.drawable.ic_back));
for (int i = 0; i < menu.size(); i++) {
menu.getItem(i).setEnabled(true);
menu.getItem(i).getIcon().setAlpha(255);
}
}
}
我在活动onCreate中的代码是:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setHomeAsUpIndicator(getResources().getDrawable(R.drawable.ic_back));
和我的Fragment onCreate包含 setHasOptionsMenu(真)
答案 0 :(得分:0)
在你的片段中添加
getBaseActivity().getSupportActionBar().setDisplayHomeAsUpEnabled(false);
并在您的活动中添加
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
答案 1 :(得分:0)
在oncreate()中,setDisplayHomeAsUpEnabled也应该设置为false。
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
http://developer.android.com/reference/android/app/ActionBar.html#setDisplayHomeAsUpEnabled(boolean)