繁体   English   中英

无法使用actionbarsherlock创建actionbar菜单项

[英]Cannot create actionbar menu item using actionbarsherlock

我在通过带有actionbarsherlock slidingmenu library使用操作栏上的菜单项时遇到麻烦。

有人可以帮忙吗?

这是代码

@Override
public boolean onOptionsItemSelected(MenuItem item) {   
    switch (item.getItemId()) {
    case android.R.id.home:
        toggle();
        return true;        
    }
    return onOptionsItemSelected(item);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getSupportMenuInflater().inflate(R.menu.menu, menu);        
    return true;
}

这是menu.xml

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item 
    android:id="@+id/print"
    android:title="@string/printItem"
    android:icon="@drawable/ic_print"
    android:showAsAction="always" />
<item 
    android:id="@+id/share"
    android:title="@string/shareItem"
    android:icon="@drawable/ic_action_share"
    android:showAsAction="always"
    android:actionProviderClass="android.widget.ShareActionProvider" />       

我的logcat说我在遇到运行时错误

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getSupportMenuInflater().inflate(R.menu.menu, menu);        
    return true;
}

不太了解您的问题。 此代码在我的应用中有效。

在MainActivity中

@Override
public boolean onOptionsItemSelected(MenuItem item) {   
    switch (item.getItemId()) {
    case android.R.id.home:
        toggle();
        break;
    case R.id.print:
        //your code
        break;
    case R.id.share:
        //your code
        break;
    default: 
        return false;
    }
    return true;
}

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

在片段中

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setHasOptionsMenu(true);
}

@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
    menu.clear();
    inflater.inflate(R.menu.menu_fragment,menu);
    super.onCreateOptionsMenu(menu, inflater);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM