actionbar下拉菜单的问题

getMenuInflater().inflate(R.menu.options, menu);  



//搜索视窗,因为showAsAction="ifRoom",所以图三中出现了搜索按钮  

 SearchView searchView = (SearchView) menu.findItem(R.id.menu_search)  

    .getActionView();  


//分享视窗,因为showAsAction="never",所以只能在溢出菜单中才看见到  

ShareActionProvider mShareActionProvider = (ShareActionProvider) menu  

    .findItem(R.id.menu_share).getActionProvider();  

Intent shareIntent = new Intent(Intent.ACTION_SEND);  

shareIntent.setType("image/*");  

mShareActionProvider.setShareIntent(shareIntent);  


//设置视窗,MyActionProvider就是我们自定义的ActionProvider  

MyActionProvider myactionprovider = (MyActionProvider) menu.findItem(  

    R.id.menu_setting).getActionProvider();  

return super.onCreateOptionsMenu(menu);  


<?xml version="1.0" encoding="utf-8"?>

<item

    android:id="@+id/menu_search"

    android:actionViewClass="android.widget.SearchView"

    android:icon="@drawable/ic_menu_search"

    android:showAsAction="ifroom"

    android:title="搜索"/>

<item

    android:id="@+id/menu_share"

    android:actionProviderClass="android.widget.ShareActionProvider"

    android:showAsAction="never"

    android:title="分享"/>

<item

    android:id="@+id/menu_setting"

    android:actionProviderClass="com.example.tabdemo.MyActionProvider"

    android:showAsAction="never"

    android:title="设置">

    <menu>

        <item

            android:id="@+id/menu_theme"

            android:actionProviderClass="com.example.tabdemo.MyActionProvider"

            android:showAsAction="always|withText"

            android:title="更换主题"/>

        <item

            android:id="@+id/menu_system"

            android:actionProviderClass="com.example.tabdemo.MyActionProvider"

            android:showAsAction="always|withText"

            android:title="系统设置"/>

    </menu>

</item>

点击下拉菜单总是会出现null指针。经发现是mShareActionProvider。

另外为啥点击后不能触发事件。进入对应自定义的ActionProvider。

配置文件

android:actionProviderClass="com.example.tabdemo.MyActionProvider"

这个不起作用?


难道还要自己在onOptionsItemSelected触发事件?


凤凰求蛊
浏览 386回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java