0

我有这个意图

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

                    //createShareIntent( );
        }
    });

以及类中的这两个方法:

@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 回答