2016-09-09 81 views
0

我有一个webview,我发送了一个URL。页面显示没问题,但我无法与显示的页面交互。我不能点击按钮,我只是一个前... 你有这个问题的想法?Android Webview点击

我的代码:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_web); 
    WebView myWebView = (WebView) findViewById(R.id.webview); 
    myWebView.loadUrl("www.google.com");  
    myWebView.setWebViewClient(new WebViewClient()); 
} 

回答

3

可以的onclick添加下面的方法来的WebView:

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 
         Toast.makeText(WebActivity.this,"Click Detected",Toast.LENGTH_LONG).show();    

        } 
        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; 
     } 
    }); 

如果里面有web视图按钮,您的网页视图中显示页面会处理that.You不能得到该回调。

+0

显示器上的部分//在上面的代码你的onClick代码的ttoast。 – kgandroid

+0

我不能点击我的网络视图,我使用你的方法,但它不工作:/ – Guillaume

+0

粘贴你的代码在pastebin中,并给我链接...让我看看 – kgandroid

0

试试这个代码,我认为它会工作:

WebSettings webSettings = myWebView.getSettings(); 
webSettings.setJavaScriptEnabled(true);