why MenuItemCompat.getActionProvider returns null?

前端 未结 12 1130
天命终不由人
天命终不由人 2020-11-29 06:33

I tried to use android.support.v7.widget.ShareActionProvider on actionbar in my app. So I followed the example from android document but got some issues.
Here\'s my m

12条回答
  •  感动是毒
    2020-11-29 07:11

    the variable: Android.Support.V7.Widget.ShareActionProvider shareActionProvider;

    this.MenuInflater.Inflate(Resource.Menu.share_action_provider, menu);
    var shareItem = menu.FindItem(Resource.Id.menu_item_share_action_provider_action_bar);
    MenuItemCompat.SetShowAsAction (shareItem,  MenuItemCompat.ShowAsActionIfRoom);
    var actionprov = new Android.Support.V7.Widget.ShareActionProvider (this);
    MenuItemCompat.SetActionProvider (shareItem, actionprov);
    var test =  MenuItemCompat.GetActionProvider (shareItem);
    shareActionProvider = test.JavaCast();
    var intent = new Intent(Intent.ActionSend);
    intent.SetType("text/plain");
    intent.PutExtra(Intent.ExtraText, "ActionBarCompat is Awesome! Support Lib v7 #Xamarin");
    shareActionProvider.SetShareIntent (intent);
    return base.OnCreateOptionsMenu(menu); 
    

    this did the trick with me... i just created my own shareactionprovider ! and i set it myself, then get it... and maybe theres some code even thats not needed.. but its a lot of casting AND MAKE SURE you use the right ones all the time, if you just type "ShareActionProvider" you are in fact using V4..! instead of V7

提交回复
热议问题