2011-05-06 4 views
7

iam은 button.this 웹 페이지로 샘플 웹 페이지를 만들고 webview를 사용하여 android에서 호출합니다.내 안드로이드 응용 프로그램의 웹 페이지에서 click 이벤트를 받으십시오.

이제 웹 페이지의 버튼 (HTML 버튼)을 클릭하면됩니다. 나는 안드로이드에서 일부 코드를 실행할 수 있어야합니다.

진행 방법은 무엇입니까? 우리는 안드로이드 API 문서에 따라 HTML 요소 다음 검색 할 수 있습니다

+0

버튼 안드로이드에서 HTML 요소 또는 버튼입니까? – sat

+0

html 요소에있는 버튼 – Rockin

답변

23

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); 


} 

}.

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

+0

사용자가 버튼을 클릭 할 때 무엇을 원하는가? 새로운 활동 시작! –

+0

아니요 자바 코드 – Rockin

관련 문제