我看了一下这个,我发现a WebView似乎没有发送点击事件OnClickListener。如果那里的任何人可以证明我错了或告诉我为什么然后我有兴趣听到它。
我找到的是一个WebView会发送触摸事件给一个OnTouchListener。它确实有自己的onTouchEvent方法,但我似乎只是MotionEvent.ACTION_MOVE使用该方法。
因此,考虑到我们可以在已注册的触摸事件监听器上获取事件,剩下的唯一问题是如何在用户单击URL时绕过您想要执行的任何操作。
这可以通过一些花哨的Handler步法来实现,通过发送延迟的触摸消息,然后如果用户点击URL引起触摸则移除那些触摸消息。
这是一个例子:public class WebViewClicker extends Activity implements OnTouchListener, Handler.Callback {private static final int CLICK_ON_WEBVIEW = 1;private static final int CLICK_ON_URL = 2;private final Handler handler = new Handler(this);private WebView webView;private WebViewClient client;@Overrideprotected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.web_view_clicker);
webView = (WebView)findViewById(R.id.web);
webView.setOnTouchListener(this);
c