- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 Android 应用程序有一个小问题。我正在创建标准菜单(使用 onCreateOptionsMenu)。我的菜单元素之一是共享按钮。此共享元素使用 OnShareTargetSelectedListener 来拦截单击了哪个共享选项。
问题是——我需要知道用户是否单击了这个“共享”菜单项(不是共享子元素与所有共享选项,如“Facebook”、“蓝牙”、“电子邮件”等)。在 onMenuItemSelected 中,单击“共享”时没有调用。
有什么优雅的方法可以拦截这个“分享”菜单元素的点击事件吗?
最佳答案
好的,这是解决方案:添加新的监听器接口(interface) (ShareMenuListener.java):
public interface ShareMenuListener {
public void onMenuVisibilityChanged(boolean visible);
扩展 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;
}
}
然后在您的 Activity 或 fragment 中,使用 CustomShareActionProvider 而不是标准的 ShareActionProvider 并实现 ShareMenuListener 接口(interface)。实现 onMenuVisibilityChanged 方法以执行自定义操作:
@Override
public void onMenuVisibilityChanged(boolean visible) {
if(visible) {
// Do your custom action here
}
}
关于android - 如何检测用户何时使用 ShareActionProvider 选择菜单项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24187151/
我正在创建一个项目来使用评级系统评估不同的产品,但由于我是新手,所以我有几个问题。 首先,为了实现这个目标,我创建了一个 ListView ,它允许我使用从该数据库获取的 JSON 代码显示 MySQ
在对学校的大型作业进行故障排除时,我发现了一个错误,我将单个项目列表(包含一个项目的堆栈)视为单个项目。我解决了我的问题,但是在进一步的测试中我注意到一些奇怪的事情: 48 ?- 1 is [1].
嘿,我正在修改我在 Internet 上找到的示例应用程序。 (学习2破解)我想在我的 ReclycerView 中获取单行的 ID。这是代码。 主要 private void initVie
我在一个项目中使用 ASP.NET MVC SiteMap 提供程序,它运行良好。但是,我很难弄清楚如何隐藏菜单项。我想在全局导航中隐藏的菜单项是我的“站点地图”页面。现在我知道有一个东西叫做 Vis
我是一名优秀的程序员,十分优秀!