Skip to content Skip to sidebar Skip to footer

How To Detect When User Selects Menu Item With Shareactionprovider?

I have small problem with my Android app. I'm creating standard menu (using onCreateOptionsMenu). One of my menu elements is share button. This share element is using OnShareTarget

Solution 1:

Ok, here is the solution: add new listener interface (ShareMenuListener.java):

publicinterfaceShareMenuListener {
    publicvoidonMenuVisibilityChanged(boolean visible);

}

Extend ShareActionProvider (CustomShareActionProvider.java)

publicclassCustomShareActionProviderextendsShareActionProvider {

private ShareMenuListener mListener;

publicCustomShareActionProvider(Context context) {
    super(context);
}

@OverridepublicvoidsubUiVisibilityChanged(boolean isVisible) {
    super.subUiVisibilityChanged(isVisible);
    mListener.onMenuVisibilityChanged(isVisible);
}

publicvoidsetShareMenuListener(ShareMenuListener listener) {
    mListener = listener;
}
}

Then in your activity or fragment, use CustomShareActionProvider instead of standard ShareActionProvider and implement ShareMenuListener interface. Implement onMenuVisibilityChanged method to perform custom action:

@OverridepublicvoidonMenuVisibilityChanged(boolean visible) {
    if(visible) {
        // Do your custom action here
    }
}

Post a Comment for "How To Detect When User Selects Menu Item With Shareactionprovider?"