0

こんな意図があります

    Button share = (Button)findViewById(R.id.share);
    share.setOnClickListener(new Button.OnClickListener() 
    {  
        public void onClick(View v) 
        {

                    //createShareIntent( );
        }
    });

クラスのこれらの2つのメソッド:

@Override
public boolean onCreateOptionsMenu(Menu menu) 
{
    getMenuInflater().inflate(R.layout.menu, menu);
    MenuItem item = menu.findItem(R.id.menu_item_share);
    myShareActionProvider = (ShareActionProvider)item.getActionProvider();
    myShareActionProvider.setShareHistoryFileName(
      ShareActionProvider.DEFAULT_SHARE_HISTORY_FILE_NAME);
    myShareActionProvider.setShareIntent(createShareIntent());
    return true;
}

private Intent createShareIntent() 
{
       Intent shareIntent = new Intent(Intent.ACTION_SEND);
       shareIntent.setType("text/plain");
       shareIntent.putExtra(Intent.EXTRA_TEXT, 
         "testing");
       return shareIntent;
}

public void doShare(Intent shareIntent) 
{
    // When you want to share set the share intent.
    myShareActionProvider.setShareIntent(shareIntent);
}    

およびこの SDK バージョンの構成:

<uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15"/>

しかし、私の問題は、これを呼び出す方法がわからないことです。共有ボタンをクリックした後に実際にメニューを表示するにはどうすればよいですか?

ありがとう!

4

1 に答える 1

1

メソッドを呼び出すことにより、コードからオプション メニューを開くことができますopenOptionsMenu()ここのドキュメントから、それは-

プログラムでオプション メニューを開きます。オプション メニューが既に開いている場合、このメソッドは何もしません。

しかし問題は、なぜそうしているのかということです。オプションメニューを開くためのハードウェアメニューボタンがあります。ですから、そのままにしておく方がよいでしょう。ボタンをクリックしてユーザーにいくつかのオプションを表示したい場合でも、ダイアログを使用してください。なぜオプションメニュー?

于 2013-04-20T04:03:39.997 に答える