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?"