昨天,我发现了一个很棒的图书馆,它允许我在操作栏的左上方有一个带有按钮的“facebook菜单”,当按下该按钮时,它会在左侧的项目菜单中滑动。
问题是我希望也使用ActionBarSherlock库来确保我的应用程序向后兼容操作栏。当使用库I时,除其他外,需要覆盖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);
}
}
现在我进入了库,发现开发人员已经使onOptionsItemSelected final 。我删除它并尝试再次覆盖它只是发现产品是那个,每当我按下按钮没有任何反应。什么都没有。
关于如何使用darvds_ribbonmenu库以及actionbarsherlock的任何想法?
答案 0 :(得分:50)
事实证明,在使用ABS时,您需要指定MenuItem的命名空间,以确保覆盖正确的方法。我的解决方案如下:
@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);
}
}
答案 1 :(得分:17)
将import android.view.MenuItem;
更改为import com.actionbarsherlock.view.MenuItem;
。否则,您只使用与您导入的MenuItem
完全不同的{{1}}。