2011-05-06 19 views
7

में वेबपृष्ठ से क्लिक ईवेंट प्राप्त करें Iam बटन के साथ एक नमूना वेबपृष्ठ बना रहा है .. यह वेबपृष्ठ वेबव्यू का उपयोग करके एंड्रॉइड में कॉल कर रहा है।मेरे एंड्रॉइड एप्लिकेशन

अब जब मैं वेबपृष्ठ पर बटन क्लिक करता हूं (वह HTML बटन है)। मैं एंड्रॉइड में कुछ कोड निष्पादित करने में सक्षम होना चाहिए ..

कैसे आगे बढ़ना है?

public class web extends Activity { 
WebView mWebView; 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.webdisplay); 

    mWebView = (WebView) findViewById(R.id.webview); 
    mWebView.getSettings().setJavaScriptEnabled(true); 
    mWebView.loadUrl("http://localhost/test.html"); 
    valid = new Button(ctx); 
    valid.setOnClickListener(this); 
    refuse = new Button(ctx); 
    refuse.setOnClickListener(this); 


} 

}

+0

बटन एक HTML तत्व या एंड्रॉयड में बटन है? – sat

+0

एचटीएमएल तत्व – Rockin

उत्तर

23

हम प्रति एंड्रॉयड एपीआई दस्तावेज़ के रूप में HTML तत्वों निम्नलिखित पता लगा सकते हैं।

int  ANCHOR_TYPE  HitTestResult for hitting a HTML::a tag 
int  EDIT_TEXT_TYPE HitTestResult for hitting an edit text area 
int  EMAIL_TYPE HitTestResult for hitting an email address 
int  GEO_TYPE HitTestResult for hitting a map address 
int  IMAGE_ANCHOR_TYPE HitTestResult for hitting a HTML::a tag which contains HTML::img 
int  IMAGE_TYPE HitTestResult for hitting an HTML::img tag 
int  PHONE_TYPE HitTestResult for hitting a phone number 
int  SRC_ANCHOR_TYPE  HitTestResult for hitting a HTML::a tag with src=http 
int  SRC_IMAGE_ANCHOR_TYPE HitTestResult for hitting a HTML::a tag with src=http + HTML::img 
int  UNKNOWN_TYPE Default HitTestResult, where the target is unknown 

मुझे लगता है कि आप WebView के setOnTouchListener फंक्शन का उपयोग करके सभी घटनाओं प्राप्त करने में सक्षम हो जाएगा।

वेबव्यू में HitTestResult नामक आंतरिक कक्षा है। HitTestResult क्लास हमें HTML तत्व ढूंढने में मदद करेगा जो उपयोगकर्ता WebView पर क्लिक करते समय दबाएगा।

HitTestResult कक्षा में केवल दो विधि हैं।

  1. getExtra(): यह स्ट्रिंग लौटाता है। स्ट्रिंग में HTML तत्व है जिसे उपयोगकर्ता
  2. getType() द्वारा क्लिक किया गया है: यह पूर्णांक लौटाता है। इसका उपयोग यह पहचानने के लिए किया जाता है कि उपयोगकर्ता द्वारा कौन सा HTML तत्व क्लिक किया गया है।

आप की तरह कर सकते हैं:

wv.setOnTouchListener(new View.OnTouchListener() { 

     public boolean onTouch(View v, MotionEvent event) { 
      WebView.HitTestResult hr = ((WebView)v).getHitTestResult(); 

      Log.i(TAG, "getExtra = "+ hr.getExtra() + "\t\t Type=" + hr.getType()); 
      return false; 
     } 
    }); 

संपादित: सही जवाब के लिए देखें: Detect click on HTML button through javascript in Android WebView

+0

में बटन मेरे पास एक जांच होगी और मुझे संदेह होगा .. मान लीजिए कि दो बटन हैं .. यह पहचान करेगा कि बटन 1 या buton2 – Rockin

+0

से यह क्या होगा जब उपयोगकर्ता बटन पर क्लिक करता है? एक नई गतिविधि शुरू! –

+0

नहीं, मैं योग जावा कोड निष्पादित करना चाहता हूं – Rockin

संबंधित मुद्दे