android 广播 不靠谱,Android OnLongClickListener奇怪/不可靠的行为

我目前正在与Android Api Lvl 8上的OnLongClickListener作战.

拿这个代码:

this.webView.setOnLongClickListener(new OnLongClickListener() {

@Override

public boolean onLongClick(View v) {

System.out.println("long click");

return true;

}

});

它完美地运作.我可以按下WebView上的任意位置,每次都触发事件触发器.

现在来看看这个:

this.webView.setOnLongClickListener(new OnLongClickListener() {

@Override

public boolean onLongClick(View v) {

final EditText editText = getUrlTextField();

switch (editText.getVisibility()) {

case View.VISIBLE:

editText.setVisibility(View.GONE);

return true;

case View.GONE:

editText.setVisibility(View.VISIBLE);

return true;

default:

return false;

}

}

});

假设URL EditText组件当前可见,它将从显示中消失,并在触发另一个长按事件时再次显示.

但是如果你运行它,当一个人在WebView上的任何一个位置上执行长按时,该事件只运行一次(!).为了使事情变得复杂,当在网站上的链接上执行时,长按会再次起作用…

任何人都可以解释它是否是sdk中的错误和/或我是否认为OnLongClickListener是如何工作的? :/

编辑:

我现在已经在Nexus One上运行了几个不同的场景,并得出以下结论:在运行时或多或少地更改布局会杀死OnLongClickListener ……我还没有找到让它可靠地工作的方法……

我真的很感激,如果有人能给我一个提示……我在我的智慧结束:(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值