我想在单击Actionbar的Home按钮时提供返回导航。 在主机片段中
((MainActivity)this.getActivity()).fragment_Actualités=new Fragment_Actualités();
fragmentTransaction.replace(R.id.content_frame,((MainActivity)this.getActivity()).fragment_Actualités);
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
((MainActivity)this.getActivity()).fragmentManager.executePendingTransactions();
((MainActivity)this.getActivity()).supportInvalidateOptionsMenu();
在主持人活动中
public boolean onOptionsItemSelected(MenuItem item) {
// The action bar home/up action should open or close the drawer.
// ActionBarDrawerToggle will take care of this.
if (mDrawerToggle.onOptionsItemSelected(item)) {
return true;
}
// Handle action buttons
int id=0;
if(id==item.getItemId()){
if(id== R.id.home)
{
this.onBackPressed();
return true;}
}
当我点击后退按钮时,super.OnBackPressed正常工作 我怎样才能使它有效?
答案 0 :(得分:0)
答案 1 :(得分:0)
尝试更改:
this.onBackPressed();
为:
onBackPressed();
并扩展FragmentActivity,如果你不这样做
答案 2 :(得分:0)
再次阅读你的代码我认为发现了这个问题,你将0分配给id,所以当你使用item.getItemId()时,总是返回false。试试这段代码
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int itemId = item.getItemId();
if (itemId == android.R.id.home) {
this.onBackPressed();
return true;
}
}
答案 3 :(得分:0)
我终于解决了, 问题是,我有2个MenuItems,设置和Home One。 所以如果只写 R.id.Home 它就不会工作但是当改为 android.R.id.Home 时它会起作用! 使用相同的代码