1

アプリに共有アクションバー項目を追加しようとしています。sherlock の例では、次のようになります。

シャーロックアクションバーのアクションバー

しかし、アプリでこのコードを使用すると:

public static void attachShareItemToMenu(Menu menu, String title, String url) {
    MenuItem item = menu.findItem(R.id.menu_item_share_share);
    ShareActionProvider provider = (ShareActionProvider)item.getActionProvider();

    Intent intent = new Intent(Intent.ACTION_SEND);
    intent.setType("text/plain");
    intent.putExtra(Intent.EXTRA_TEXT, url);
    intent.putExtra(android.content.Intent.EXTRA_SUBJECT, title);
    Intent shareIntent = Intent.createChooser(intent, title);

    provider.setShareHistoryFileName(ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME);
    provider.setShareIntent(shareIntent);
}

次のようになります。

シャーロックのアクションバー

アイテムをクリックすると、デフォルトの共有インテントが開きます。コードはサンプルコードとあまり変わらないので、なぜそのように見えるのかわかりません。

ここで何が問題なのですか?

4

1 に答える 1

2

行を取り除きcreateChooser()ます。あなたはそれを必要としません。が示してShareActionProviderいるのは、セレクターそのものです。

于 2013-09-20T14:40:35.993 に答える