来自support.v7的ShareActionProvider没有点击

时间:2016-02-28 22:26:35

标签: android

我想在标题栏上找到一个正常工作的“分享”按钮。最初,我遵循了developers.android.com上的建议,但有一个例外,说我需要使用MenuItemCompat。我这样做,但现在我的分享按钮甚至不会“点击”。 我的相关代码是:

   public boolean onCreateOptionsMenu(Menu menu) {
        Log.d("CYCLE:","onCreateOptionsMenu()");
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_to_do_list, menu);
        // Locate MenuItem with ShareActionProvider
        MenuItem item = menu.findItem(R.id.action_share);

        // Fetch and store ShareActionProvider
        mShareActionProvider = (ShareActionProvider) MenuItemCompat.getActionProvider(item);
        setShareIntent();
        mShareActionProvider.setShareHistoryFileName("my_share_history.xml");
        return true;
    }

public void setShareIntent(){
    Intent shareIntent = new Intent(Intent.ACTION_SEND);
    shareIntent.setType("text/plain");
    shareIntent.putExtra(Intent.EXTRA_TEXT, "some text to share");
    mShareActionProvider.setShareIntent(shareIntent);
}

我的XML菜单项是:

<item android:id="@+id/action_share"
    android:title="Share"
    app:showAsAction="ifRoom"
    app:actionProviderClass="android.support.v7.widget.ShareActionProvider"/>

我错过了让这个按钮可点击的东西吗? (我甚至还没有谈论功能。只需点击一下(你知道,就像点击/点击动画一样)。 感谢。

1 个答案:

答案 0 :(得分:0)

您是否设置了share Intent?如果没有共享Intent,Android将不知道提供商究竟需要共享什么。