添加分享按钮点击后如何显示下拉分享菜单?
澳门新葡京官网
澳门新葡京官网
当前位置 : 澳门新葡京官网 > 网上赌博新址

添加分享按钮点击后如何显示下拉分享菜单?

添加分享按钮后,点击如何弹出下拉菜单显示可以分享的应用。

@Override
    public boolean onCreateOptionsMenuMenu menu {
        //return super.onCreateOptionsMenumenu;
        getMenuInflater.inflateR.menu.menu, menu;
        MenuItem item = menu.findItemR.id.menu_item_share;
        shareActionProvider = android.support.v7.widget.ShareActionProvider MenuItemCompat.getActionProvideritem;
        return true;
    }

private void setshareIntentIntent shareIntent{
        if shareActionProvider!=null{
            shareActionProvider.setShareIntentshareIntent;
        }
    }

private Intent createIntent{
        Intent shareIntent = new Intent;
        shareIntent.addFlagsIntent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET;
        shareIntent.setActionIntent.ACTION_SEND;
        shareIntent.setType"text/plain";
        shareIntent.putExtraIntent.EXTRA_TEXT,"hello";
        return shareIntent;
    }
    
     @Override
    public boolean onOptionsItemSelectedMenuItem item {
        //return super.onOptionsItemSelecteditem;
        switch item.getItemId{
            case R.id.refresh:
                updateWeather;
                break;
            case R.id.setting:
                Intent intent = new IntentMyApplication.getContext,SettingsActivity.class;
                startActivityintent;
                break;

            case R.id.menu_item_share:
                setshareIntentcreateIntent;
            default:
                break;
        }
        return super.onOptionsItemSelecteditem;
    }

MainActicty继承AppCompatActivity
menu.xml文件

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    <group android:id="@+id/hide_shoose">
        <item android:id="@+id/refresh"
            android:orderInCategory="100"
            android:title="刷新" />
        <item android:id="@+id/setting"
            android:orderInCategory="100"
            android:title="设置"/>
        <item android:id="@+id/setlocation"
            android:orderInCategory="100"
            android:title="位置"/>
    </group>

    <item
        android:id="@+id/menu_item_share"
        app:showAsAction="ifRoom"
        android:title="share"
        android:icon="@drawable/chrome48"
        app:actionProviderClass="android.support.v7.widget.ShareActionProvider"/>
</menu>

然后通过intent来实现应用的过滤。现在的问题是无法点击以及弹出下拉菜单;

我是学着http://hukai.me/android-training-course-in-chinese/basics/actionbar/adding-buttons.html的serach Button这部分写的,之前题述不对对不起帮助的各位。

既然 getActionProvider 为 null,那就新建一个:

private ShareActionProvider mShareActionProvider;
@Override
public boolean onCreateOptionsMenuMenu menu {
    getMenuInflater.inflateR.menu.options_menu, menu;

    MenuItem item = menu.findItemR.id.menu_item_share;
    // mShareActionProvider = ShareActionProvider MenuItemCompat.getActionProvideritem;
    
    mShareActionProvider = new ShareActionProviderMainActivity.this;
    mShareActionProvider.setShareIntentcreateIntent;
    MenuItemCompat.setActionProvideritem, mShareActionProvider;

    return true;
}

另外:更新评论中的说法,调试后发现,你的问题并不需要实现 menu item 对应的监听器方法:case R.id.menu_item_share:
也就是,这个分支的内容是可以删掉的。

关键部分代码没贴完整,把 creatOptionsMenu 方法下的代码都贴上来看一下。另外,creatIntent 方法 return前加上 Intent.createChoosershareIntent, "Share";

感觉像官方support_v4_demos里的"App/ShareCompat Demo",可以参考一下,效果就是右上角一个图标,图标会带下标,点击后弹出下拉式Spinner一样的列表

栏目列表

广告位

澳门新葡京官网