2

晕伙计们!

我的 android 应用程序有一个网络视图链接一个网络,假设“google.com”。我想做的一件事是当用户点击“搜索”时,我的应用程序将烤“搜索”。当用户点击“邮件”时,将烤邮件。

我知道如果网站是我的,我可以将 javascript 添加到 html 中来处理 onClick 事件。但情况是网站是公共网站。有什么解决办法吗?

是否也可以在 Web 视图中获取数据以供我的应用程序使用?我正在研究 REST 和 Jsoup。

谢谢!!

4

2 回答 2

2

您可以通过 onTouchListener 实现 onClickListener:

webView.setOnTouchListener(new View.OnTouchListener() {

        public final static int FINGER_RELEASED = 0;
        public final static int FINGER_TOUCHED = 1;
        public final static int FINGER_DRAGGING = 2;
        public final static int FINGER_UNDEFINED = 3;

        private int fingerState = FINGER_RELEASED;


        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {

            switch (motionEvent.getAction()) {

                case MotionEvent.ACTION_DOWN:
                    if (fingerState == FINGER_RELEASED) fingerState = FINGER_TOUCHED;
                    else fingerState = FINGER_UNDEFINED;
                    break;

                case MotionEvent.ACTION_UP:
                    if(fingerState != FINGER_DRAGGING) {
                        fingerState = FINGER_RELEASED;

                        // Your onClick codes

                    }
                    else if (fingerState == FINGER_DRAGGING) fingerState = FINGER_RELEASED;
                    else fingerState = FINGER_UNDEFINED;
                    break;

                case MotionEvent.ACTION_MOVE:
                    if (fingerState == FINGER_TOUCHED || fingerState == FINGER_DRAGGING) fingerState = FINGER_DRAGGING;
                    else fingerState = FINGER_UNDEFINED;
                    break;

                default:
                    fingerState = FINGER_UNDEFINED;

            }

            return false;
        }
    });
于 2014-02-03T14:59:33.617 回答
0

愿这对您有所帮助:

伙计,除了在HTML 代码中编写 Onclick 之外,您无法在 android 中点击 Webview 的内部对象,但您可以通过onTouchListener在您的Webview对象上实现并覆盖您的方法来获得整个 webview 的点击,onTouch()如下所示:

@Override
    public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub

         if (v.getId() == R.id.my_WebView && event.getAction() == MotionEvent.ACTION_DOWN){

                // write your code here
            }


        return false;
    }
于 2013-09-25T08:08:14.087 回答