2011-05-06 20 views
7

iam crear una página web de muestra con el botón ... esta página web estoy llamando en Android utilizando webview.obtener el evento de clic desde la página web en mi aplicación de Android

ahora cuando hago clic en el botón en la página web (que es el botón html). debería ser capaz de ejecutar algunos códigos en Android ...

cómo proceder?

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

Button es un elemento HTML o Button en Android? – sat

+0

botón en el elemento html – Rockin

Respuesta

23

Podemos detectar siguientes elementos HTML como por Android Documento 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 

Creo que podrá obtener todos los eventos utilizando la función setOnTouchListener de WebView.

WebView tiene clase interna llamada HitTestResult. La clase HitTestResult nos ayudará a encontrar el elemento HTML que se presiona cuando el usuario hace clic en WebView.

HitTestResult clase tiene solo dos métodos.

  1. getExtra(): Devuelve String. La cadena tiene un elemento HTML al que hace clic el usuario
  2. getType(): Devuelve entero. Se usa para identificar en qué elemento HTML hace clic el usuario.

Puede hacer como:

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

Editado: y someter a respuesta perfecta: Detect click on HTML button through javascript in Android WebView

+0

voy a tener un cheque y dudo..supongo que hay dos botones ... ¿cómo se identificará si es de button1 o buton2 – Rockin

+0

¿qué quieres cuando el usuario hace clic en el botón? comenzando una nueva actividad! –

+0

no quiero ejecutar la suma de los códigos java – Rockin

Cuestiones relacionadas