从我的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);

}

}

回答:

我们可以根据Android API文档检测以下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函数获取所有事件。

WebView具有名为HitTestResult的内部类。HitTestResult类将帮助我们找到当用户单击WebView时按下的HTML元素。

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;

}

});

参考完美答案: 通过AndroidWebView中的javascript检测HTML按钮的单击

以上是 从我的Android应用程序中的网页获取点击事件 的全部内容, 来源链接: utcz.com/qa/407052.html

回到顶部