android – ActionBar上的Share按钮出现两次
作者:互联网
我在Action Bar上创建了一个分享按钮 – 但它似乎出现了两次.
菜单XML文件如下:
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_share"
android:title="@string/action_share"
app:showAsAction="always"
app:actionProviderClass="android.support.v7.widget.ShareActionProvider"
/>
</menu>
它在视图中的onCreateOptionsMenu中实例化.
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.menu_detail, menu);
MenuItem menuItem = menu.findItem(R.id.action_share);
mShareActionProvider =
(ShareActionProvider) MenuItemCompat.getActionProvider(menuItem);
if(mShareActionProvider != null && !mForecastString.isEmpty()){
mShareActionProvider.setShareIntent(createShareForecastIntent());
} else{
Log.d(LOG_TAG, "Share Action provider is null?");
}
super.onCreateOptionsMenu(menu,inflater);
}
如果分享按钮被定义,膨胀和仅实例化一次,它怎么能出现两次呢?
解决方法:
您在“活动”和“片段”中两次对菜单进行充气.
消除一次通胀应解决问题.
标签:android,android-intent,android-actionbar,android-menu,android-sharing 来源: https://codeday.me/bug/20190824/1709420.html