19

我需要一个关于如何使用操作栏 sherlock 添加菜单项的示例或教程

当我将简单菜单与导入一起使用时

import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

当我打电话时

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.settings_menu, menu);
        return true;
    }

    public boolean onOptionsItemSelected(MenuItem item) {

        switch (item.getItemId()) {
        case R.id.goToSettings:
            startActivity(new Intent(this, SetPreference.class));
            return true;
        default:
            return super.onOptionsItemSelected(item);
        }

    }

然后我得到无法从 SherlockActivity 错误中覆盖最终方法。

4

3 回答 3

49

您必须使用Menu,MenuInflater和包中的MenuItemcom.actionbarsherlock.view

import com.actionbarsherlock.view.Menu;
import com.actionbarsherlock.view.MenuInflater;
import com.actionbarsherlock.view.MenuItem;

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getSupportMenuInflater();
    inflater.inflate(R.menu.settings_menu, menu);

    return super.onCreateOptionsMenu(menu);
}

顺便说一句,ActionBarSherlock包含很多样本。

于 2012-08-13T09:58:44.153 回答
3

我在上面使用了@StenaviN 的答案,但遇到了 onContextItemSelected 的问题。这篇文章为我解决了这个问题。

基本上,你只需要使用

@Override
public boolean onContextItemSelected(android.view.MenuItem item) {
    /* ... */
}

代替

@Override
public boolean onContextItemSelected(MenuItem item) {
    /* ... */
}
于 2012-10-16T18:39:13.647 回答
3

我在上面使用了@Matt 的答案,但遇到了 onContextItemSelected 的问题。

基本上,你只需要使用

@Override
public boolean onContextItemSelected(com.actionbarsherlock.view.MenuItem item) {
    /* ... */
}

代替

@Override
public boolean onContextItemSelected(android.view.MenuItem item) {
    /* ... */
}
于 2012-11-20T12:36:45.527 回答