一、Bundle数据
1.建立
Bundle B= new Bundle();
2.放入数据
B.put各种数据类型(标签,数据值)
例:
放入String数据
B.putString("BtRxData",BlutoothRxData)
放入char[]数据
B.putCharArray("BtRxData",BlutoothRxData[])
handler.obtainMessage() 的作用是从当前的Handler中获取指定的Message以供再次使用
尤其是在监测线程中 如果不断的new Message() 可能出现错误 (错误信息已经忘了 没有记录 =.=)
有5个重载的方法
1 | public final Message obtainMessage () |
what arg1 arg2 obj分别对应Message中的相应成员变量。
WebView中的shouldOverrideUrlLoading和onPageStarted这两个方法就是可以捕获到跳转的url,然后进行一系列的操作,但是他们两到底有什么区别呢?
当点击页面中的链接的时候他们俩都会执行,但是返回到上一个页面的时候onPageStarted会执行,但是shouldOverrideUrlLoading就不执行了,就是onPageStarted什么时候都执行的。
应用场景:有个需求WebView加载不同的url的时候应用的标题也是跟着改变的,这时候只要在onPageStarted中捕获url前缀进行判断就可以了,但是不能使用shouldOverrideUrlLoading,因为当从当前的页面返回到上个页面的时候这个方法并不执行,所以捕获就没有用了!
1.首先继承android.webkit.WebChromeClient实现MyWebChromeClient。
2.在MyWebChromeClient.java中覆盖onJsAlert,onJsConfirm,onJsPrompt三个方法。
3.在初始化Webview时设置调用webview.setWebChromeClient(new MyWebChromeClient());
4.在Webview载入的html中使用window.alert,window.confirm,window.prompt方法,系统弹出的将是自定义实现的对应对话框。
单选按钮RadioGroup、复选框CheckBox都有OnCheckedChangeListener事件,我们一起了解一下。