java和webview交互

html代码

<html>
 <head>
  <title>提交重置事件</title>
  <script type="text/javascript">
    /* 
        1 提交事件  onsubmit
            1.1 是form的事件
            1.2 onsubmit 必须写成 return 方法名
            1.3 方法必须是有返回值的,而且返回值只能是true false

    */
    function _onsubmit(){
        var uname = document.getElementsByName("uname")[0].value;
        var uclass= document.getElementsByName("uclass")[0].value;
        if(uname == ''){
            javascript:window.javaCode.toast("姓名或班级不能为空");
            return false;
        }else{
            javascript:window.javaCode.setinfo(uname,uclass);
        }
        return true;
    }

  </script>
 </head>
 <body>
    <form action="" method="" onsubmit="return _onsubmit()" >
        姓名:<input type="text" name="uname" /><br/>
        班级:<input type="text" name="uclass" /><br/>
        <input type="submit" value="提交" />

    </form>
 </body>
</html>

java代码

public class MainActivity extends Activity {
    private WebView wv;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        init();
        initWebView();
        wv.loadUrl("file:///android_asset/jstest.html");
        //参数一:   参数二:js提供对象名
        wv.addJavascriptInterface(new Object(){
            //提供方法供javascript 调用
            // 对于4.0以后版本,添加注解
            @android.webkit.JavascriptInterface
            public void toast(String str){
                Toast.makeText(MainActivity.this,str,0).show();
            }
            @android.webkit.JavascriptInterface
            public void setinfo(String uname,String uclass){
                Toast.makeText(MainActivity.this,uname+":"+uclass,0).show();
            }
        },"javaCode");
    }
    //初始化控件
    private void init() {
        wv=(WebView)findViewById(R.id.wv);
    }
    //初始化WebView
    private void initWebView() {
        //设置浏览器不跳转
        wv.setWebChromeClient(new WebChromeClient());
        WebSettings set = wv.getSettings();
        //支持javascript
        set.setJavaScriptEnabled(true);
    }
    public void get(View view) {
        //调用javascript 里的函数
        //javascript:_onsubmit() 固定格式 _onsubmit() 函数名
        wv.loadUrl("javascript:_onsubmit()");
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值