如何在android studion中添加两个onCreateOptionsMenu(菜单菜单)
我正在创建一个Android应用程序,我已经准备好添加一个共享选项来共享该应用程序的内容,但我想添加另一个可以选择的共享选项共享应用程序下载链接(共享此应用程序),这两个选项使用创建选项菜单,任何人都可以告诉我,如果有可能添加两个创建选项或有其他方式添加第二次共享操作。 以下是我用于“分享此应用”操作的代码。如何在android studion中添加两个onCreateOptionsMenu(菜单菜单)
private ShareActionProvider mShareActionProvider;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
/** Inflating the current activity's menu with res/menu/items.xml */
getMenuInflater().inflate(R.menu.menu_main, menu);
/** Getting the actionprovider associated with the menu item whose id is share */
mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.share).getActionProvider();
/** Setting a share intent */
mShareActionProvider.setShareIntent(getDefaultShareIntent());
return super.onCreateOptionsMenu(menu);
}
/** Returns a share intent */
private Intent getDefaultShareIntent(){
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, "download the app");
intent.putExtra(Intent.EXTRA_TEXT," play.google.com ");
return intent;
}
menu_main
<item
android:title="Share"
android:id="@+id/menu_item_share"
android:showAsAction="ifRoom"
android:icon="@drawable/share"
/>
<item
android:id="@+id/share_this_app"
android:title="share this app"
android:showAsAction="never"
android:actionProviderClass="android.widget.ShareActionProvider"/>
您是否尝试过这样的事情?让我知道它是否有效。
private ShareActionProvider mShareActionProvider;
private ShareActionProvider mShareActionProvider2;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
/** Inflating the current activity's menu with res/menu/items.xml */
getMenuInflater().inflate(R.menu.menu_main, menu);
/** Getting the actionprovider associated with the menu item whose id is share */
mShareActionProvider = (ShareActionProvider) menu.findItem(R.id.menu_item_share).getActionProvider();
mShareActionProvider2 = (ShareActionProvider) menu.findItem(R.id.share_this_app).getActionProvider();
/** Setting a share intent */
mShareActionProvider.setShareIntent(getDefaultShareIntent());
mShareActionProvider2.setShareIntent(getDefaultShareIntent2());
return super.onCreateOptionsMenu(menu);
}
/** Returns a share intent */
private Intent getDefaultShareIntent(){
Intent intent = new Intent(Intent.ACTION_SEND);
intent.setType("text/plain");
intent.putExtra(Intent.EXTRA_SUBJECT, "download the app");
intent.putExtra(Intent.EXTRA_TEXT," play.google.com ");
return intent;
}
private Intent getDefaultShareIntent2(){
/*Your coude here*/
}
无法正常工作,因为应用程序强制关闭后点击共享此应用程序选项。 –
我没有声明mShareActionProvider2(更新了代码来解决这个问题),但它不会导致这个问题。 对不起,现在不能真正帮助更多,只有当我回家 – Tharkius
谢谢你的努力,请让我知道,如果你找到解决办法。 –
您可以使用单个'onCreateOptionMenu'创建多个选项。 –
你可以使用单个menu_main.xml中的多个选项,制作另一个具有不同id的项目并实现相同的分享 – Dharmaraj
你能解释一下怎么做吗? –