覆盖从SherlockFragmentActivity中select的onOptionsItemSelected

昨天,我find了一个很棒的图书馆,让我有一个“facebook菜单”,在一个操作栏的左上方有一个button,当按下时,它将从左边的项目菜单中滑动。

问题是我希望使用ActionBarSherlock库以确保我的应用程序向后兼容操作栏。 当使用库时,我需要重写onOptionsItemSelected,如下所示:

@Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == android.R.id.home) { rbmView.toggleMenu(); return true; } else { return super.onOptionsItemSelected(item); } } 

现在我走进图书馆,看到开发者已经做出了select项目select的最终结果 。 我删除它,并试图重写它,只是发现产品是每当我按下button什么都没有发生。 一点都没有

任何想法如何去使用darvds_ribbonmenu库与actionbarsherlock

Solutions Collecting From Web of "覆盖从SherlockFragmentActivity中select的onOptionsItemSelected"

原来,当使用ABS时,您需要指定MenuItem的名称空间,以确保您覆盖了正确的方法。 我的解决scheme如下:

 @Override public boolean onOptionsItemSelected(com.actionbarsherlock.view.MenuItem item) { int id = item.getItemId(); Log.d("item ID : ", "onOptionsItemSelected Item ID" + id); if (id == android.R.id.home) { rbmView.toggleMenu(); return true; } else { return super.onOptionsItemSelected(item); } } 

更改import android.view.MenuItem; import com.actionbarsherlock.view.MenuItem; 。 否则,你只是使用完全不同的MenuItem不是你正在导入的菜单项。