2015-01-14 5 views
0

Я хочу, чтобы получить событие OnClick на WebView так:OnClick на webview в Android?

webView.setOnClickListener(new OnClickListener() { 

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

     } 
    }); 
+0

Хорошо. Хорошо. В чем проблема? – shkschneider

+0

Это хорошо! Что дальше? – Rohit5k2

+0

проблема заключается в том, что WebView не прислушиваясь к событию – Yassinovich

ответ

1

Ваши блоки кода нажмите для элемента на странице на веб-просмотра, но вы можете использовать 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 (новый OnTouchListener() { \t \t \t \t \t \t @Override \t \t \t общественного логический onTouch (View v, MotionEvent событие) { \t \t \t \t // TODO Auto-генерироваться метод заглушки \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 возвращение ложным; \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

согласно моему знания, вы не можете получить прослушиватель веб-просмотра. Вы можете использовать его onTouchListener.

This link конкретизирует в деталях, как обрабатывать ситуацию, как этот

Надеется, что это будет помощь.

Смежные вопросы