actionbar下拉菜单的问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

actionbar下拉菜单的问题

2016-03-03 16:39:49 1912 1

`
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触发事件?

取消 提交回答
全部回答(1)
  • 蛮大人123
    2019-07-17 18:51:39

    可以这样解决问题:

    @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            FragmentManager manager = getSupportFragmentManager();
            FragmentTransaction transaction = manager.beginTransaction();
            switch (item.getItemId()) {
                case R.id.menu_share:
                    transaction.replace(R.id.container, ShareFragment.newInstance());
                    transaction.commit();
                    return true;
                case R.id.menu_setting:
                    transaction.replace(R.id.container, SettingFragment.newInstance());
                    transaction.commit();
                    return true;
                case R.id.menu_feedback:
                    FeedbackAgent agent = new FeedbackAgent(this);
                    agent.startFeedbackActivity();
                    transaction.commit();
                    return true;
                case R.id.menu_about:
                    new AlertDialog.Builder(MainActivity.this)
                            .setTitle("关于")
                            .setMessage("")
                            .setPositiveButton("确定", null)
                            .show();
                default:
                    transaction.commit();
                    return super.onOptionsItemSelected(item);
               }
            }
    0 0
相关问答

4

回答

Spark 【问答合集】

社区小助手 2019-05-29 14:13:40 127232浏览量 回答数 4

323

回答

云伴侣数据导入问题汇总(Android系统)

os_admin 2011-07-26 17:52:15 63134浏览量 回答数 323

28

回答

钉钉开放平台“常见问题常见问题常见问题“重要请关注

竹梅 2015-12-03 00:39:14 93852浏览量 回答数 28

3

回答

Logstash采集文件名称以及自定义格式的日志文件采集

Snorlax 2019-06-18 11:51:28 114921浏览量 回答数 3

22

回答

爬虫数据管理【问答合集】

我是管理员 2018-08-10 16:37:41 147276浏览量 回答数 22

1

回答

出现这个问题求解决This XML file does not appear to have any

淘合肥 2017-04-08 21:07:00 93475浏览量 回答数 1

42

回答

【精品问答集锦】Python热门问题

小六码奴 2019-05-30 15:27:34 137148浏览量 回答数 42

8

回答

mail.aliyun.com邮箱android手机客户端设置方法

jack_yang 2013-04-24 09:01:34 122594浏览量 回答数 8

24

回答

【精品问答】python技术1000问(1)

问问小秘 2019-11-15 13:25:00 475858浏览量 回答数 24

19

回答

云数据库RDS MySQL版【问答合集】

我是管理员 2018-08-03 15:10:37 48381浏览量 回答数 19
+关注
蛮大人123
我说我不帅他们就打我,还说我虚伪
0
文章
7733
问答
问答排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载