android webview 点击按钮,android – Webview的Html按钮点击检测活动(ja...

我试图将webview的html按钮点击检测到java代码(In activity).

我提到另一个SO

Detect click on HTML button through javascript in Android WebView

但是没有用.我的代码:

的index.html

function js1() {

document.loginform.method="post";

document.loginform.action = "https://example.com/chechlogin.asp";

}

MainActivity.java

package com.example.webview;

import android.os.Bundle;

import android.annotation.SuppressLint;

import android.app.Activity;

import android.util.Log;

import android.view.Menu;

import android.view.View;

import android.view.Window;

import android.webkit.JavascriptInterface;

import android.webkit.WebSettings;

import android.webkit.WebView;

import android.webkit.WebViewClient;

import android.widget.EditText;

import android.widget.TextView;

import android.widget.Toast;

@SuppressLint("SetJavaScriptEnabled")

public class MainActivity extends Activity {

private EditText field;

private WebView browser;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

field = (EditText)findViewById(R.id.urlField);

browser = (WebView)findViewById(R.id.webView1);

browser.getSettings().setJavaScriptEnabled(true);

browser.setWebViewClient(new MyBrowser());

browser.loadUrl("file:///android_asset/index.html");

}

@SuppressLint("JavascriptInterface")

public void open(View view){

String url = field.getText().toString();

browser.getSettings().setLoadsImagesAutomatically(true);

browser.getSettings().setJavaScriptEnabled(true);

browser.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

browser.loadUrl(url);

browser.addJavascriptInterface(new Object()

{

@JavascriptInterface

public void performClick()

{

Log.d("LOGIN::", "Clicked");

Toast.makeText(MainActivity.this, "Login clicked", Toast.LENGTH_LONG).show();

}

}, "login");

}

private class MyBrowser extends WebViewClient {

@Override

public boolean shouldOverrideUrlLoading(WebView view, String url) {

view.loadUrl(url);

return true;

}

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}

但是没有调用performClick()方法.

请更正错误.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值