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):

public interface ShareMenuListener {
    public void onMenuVisibilityChanged(boolean visible);

}

Extend ShareActionProvider (CustomShareActionProvider.java)

public class CustomShareActionProvider extends ShareActionProvider {

private ShareMenuListener mListener;

public CustomShareActionProvider(Context context) {
    super(context);
}

@Override
public void subUiVisibilityChanged(boolean isVisible) {
    super.subUiVisibilityChanged(isVisible);
    mListener.onMenuVisibilityChanged(isVisible);
}

public void setShareMenuListener(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:

@Override
public void onMenuVisibilityChanged(boolean visible) {
    if(visible) {
        // Do your custom action here
    }
}

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