2015-01-14 41 views
0

我希望得到的是對webView的onclick事件:OnClick在android中的webview?

webView.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 

     } 
    }); 
+0

好的。好。有什麼問題? – shkschneider

+0

這很好!接下來是什麼? – Rohit5k2

+0

問題在於webView沒有收聽點擊事件 – Yassinovich

回答

1

你的代碼塊單擊項目上的Web視圖頁面上,但你可以使用onTouchListener

mWebView.setOnTouchListener(new View.OnTouchListener() { 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     switch (event.getAction()) { 
      case MotionEvent.ACTION_DOWN: 
      case MotionEvent.ACTION_UP: 
       //ontouch 
       break; 
     } 
     return false; 
    } 
}); 
+0

,我無法獲取OnTouch事件...:s – Yassinovich

+0

browser.setOnTouchListener(new OnTouchListener(){ \t \t \t \t \t \t @Override \t \t \t公共布爾onTouch(視圖v,MotionEvent事件){ \t \t \t \t // TODO自動生成方法存根 \t \t \t \t \t \t \t \t開關(event.getAction()){ \t \t \t \t情況MotionEvent.ACTION_DOWN: \t \t \t \t { \t \t \t \t \t afficherButtons(); \t \t \t \t \t SessionVar.getInstance()。setAfficherNextHTML(false); \t \t \t \t} \t \t \t \t情況MotionEvent.ACTION_UP: \t \t \t \t { \t \t \t \t \t afficherButtons(); \t \t \t \t \t SessionVar.getInstance()。setAfficherNextHTML(假); \t \t \t \t} \t \t \t \t // ontouch \t \t \t \t中斷; \t \t \t \t} \t \t \t \t返回FALSE; \t \t \t \t \t \t \t} \t \t}); – Yassinovich

1
public class MyActivity extends Activity implements OnTouchListener{ 

    private float mDownPosX; 
    private float mDownPosY; 
    private float mUpPosX; 
    private float mUpPosY; 

    private WebView webView; 

    private float MOVE_THRESHOLD_DP; 

    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

     setContentView(R.layout.webview_layout); 

     MOVE_THRESHOLD_DP = 20.0F * act.getResources().getDisplayMetrics().density; 
     webView v = (WebView) findViewById(R.id.webView); 
     v.setOnTouchListener(this); 
    } 

    @Override 
    public boolean onTouch(View v, MotionEvent event) { 

     switch (event.getAction()) { 
     case MotionEvent.ACTION_DOWN: 
      this.mDownPosX = event.getX(); 
      this.mDownPosY = event.getY(); 
      break; 
     case MotionEvent.ACTION_UP: 
      this.mUpPosX = event.getX(); 
      this.mUpPosY = event.getY(); 
      if ((Math.abs(mUpPosX - this.mDownPosX) < MOVE_THRESHOLD_DP) && (Math.abs(mUpPosY - this.mDownPosY) < MOVE_THRESHOLD_DP)) { 
       //your click code here 
      } 

     break; 
     } 
     return false; 
    } 
    } 
0

按我知識你無法獲得webview點擊監聽器。您可以使用它的onTouchListener。

This link闡述了細節如何處理這樣

希望這將是幫助的情況。