我有以下的struktur来实现longclicklistener。如果我点击webview上包含html链接的文本,它就有效,所以我知道结构并不完全错误。
我现在删除了这个链接,听众只是不再听点击了。有人知道这个问题并有一些建议吗?
private View.OnLongClickListener mLongClickHandler = new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
...
return true;
}
};
...
mywebview.setOnLongClickListener(mLongClickHandler);
答案 0 :(得分:3)
我现在尝试自己克隆longclick动作。这只能工作几次。一段时间后,onTouch-Event不再被调用...建议?
private Runnable copyTextAfterDelay=new Runnable() {
public void run() {
...
}
};
...
myWebView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mTimerHandler.removeCallbacks(copyTextAfterDelay);
mTimerHandler.postDelayed(copyTextAfterDelay,1000);
break;
case MotionEvent.ACTION_UP:
mTimerHandler.removeCallbacks(copyTextAfterDelay);
break;
case MotionEvent.ACTION_MOVE:
mTimerHandler.removeCallbacks(copyTextAfterDelay);
break;
}
return false;
}
});
答案 1 :(得分:3)
覆盖webview的onTouch方法,并为ACTION_DOWN事件返回true。 因此,你消耗你的羽绒事件。
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
return true;
}
}