2013-09-25 5 views
2

Halo guys!Веб-просмотр Android на клике

У моего приложения андроида есть ссылка на веб-сайт в Интернете, предположим, что «google.com». Я хочу сделать одно, когда пользователь нажимает «поиск», мое приложение будет «искать» тосты. И когда пользователь нажимает на «mail», топирует почту.

Я знаю, что могу добавить javascript в html для обработки события onClick, если сайт принадлежит мне. Но ситуация в том, что сайт является общедоступным сайтом. Есть ли решение?

А также возможно получить данные внутри веб-представления для моего приложения? Я изучаю REST и Jsoup.

Спасибо!

ответ

0

Пусть это поможет вам:

Buddy вы не можете получить щелчок Inner объекта WebView годов в андроид otherthan писать OnClick в HTML код но вы можете получить щелчок по всей WebView, внедрив onTouchListener на вашем 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; 
    } 
+0

так что не показывать поиск, когда я нахожу поиск на google.com? в любом случае большое спасибо! :) – Kennett

+0

приветствуется приятель ... –

2

Вы можете Реализовать onClickListener через onTouchListener:

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; 
     } 
    }); 
Смежные вопросы