2011-05-06 22 views
7

iam創建一個樣例網頁與button..This網頁是在android中使用webview調用。從我的Android應用程序中的網頁獲取點擊事件

現在當我點擊網頁上的按鈕(即HTML按鈕)。我應該可以在Android中執行一些代碼..

如何繼續?

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

按鈕是在Android的一個html元素或按鈕? – sat 2011-05-06 07:30:34

+0

html元素按鈕 – Rockin 2011-05-06 08:02:42

回答

23

我們能夠檢測下面的HTML元素作爲每Android的API文獻。

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函數獲取所有事件。

WebView的內部類名爲HitTestResult。 HitTestResult類將幫助我們找到用戶單擊WebView時按下的HTML元素。

HitTestResult類只有兩種方法。

  1. getExtra():它返回String。字符串有用戶點擊的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

我將有一個支票,我懷疑..假設有兩個按鈕..將確定是否它從button1或buton2 – Rockin 2011-05-06 08:06:51

+0

當用戶點擊按鈕時你想要什麼?開始一項新的活動! – 2011-05-06 08:51:51

+0

不,我想執行總和java代碼 – Rockin 2011-05-06 08:56:33

相關問題