Android控件:WebVIew(三)日历选择器
2015-10-20 10:48
579 查看
Android本身就有DatePicker和TimePicker控件的代码如下
ss
1import java.util.Calendar;
2import org.json.JSONException;
3import org.json.JSONObject;
4import android.app.Activity;
5import android.app.DatePickerDialog;
6import android.app.DatePickerDialog.OnDateSetListener;
7import android.os.Bundle;
8import android.os.Handler;
9import android.webkit.WebView;
10import android.widget.DatePicker;
1112publicclass MyWebViewTestActivity extends Activity {
13public WebView webView;
1415// Handler handler;1617 @Override
18publicvoid onCreate(Bundle savedInstanceState) {
19super.onCreate(savedInstanceState);
20 setContentView(R.layout.main);
2122 webView = (WebView) findViewById(R.id.myWebView);
28 webView.getSettings().setJavaScriptEnabled(true);
29 webView.addJavascriptInterface(new ProxyBridge(), "ProxyBridge");
30 webView.loadUrl("file:///android_asset/index.html");
31 }
3233class ProxyBridge {
34 String date;
35 String json_date;
36 DatePickerDialog pickerDialog;
37 Handler handler = new Handler();
38publicvoid getDateTime() {
39 handler.post(new Runnable() {
40 @Override
41publicvoid run() {
42final Calendar cd = Calendar.getInstance();
43pickerDialog = new DatePickerDialog(
44 MyWebViewTestActivity.this,
45new OnDateSetListener() {
4647 @Override
48publicvoid onDateSet(DatePicker view,
49int year, int monthOfYear,
50int dayOfMonth) {
51try {
52 date = String.valueOf(year) + "-"
53+ String.valueOf(monthOfYear)
54+ "-"
55+ String.valueOf(dayOfMonth);
56 JSONObject map = new JSONObject();
57 map.put("date", date);
58// json_date = "[{\"time\":\"2012-02-18\"}]";59 json_date = map.toString();
60 } catch (JSONException e) {
61 e.printStackTrace();
62 }
63 webView.loadUrl("javascript:setDateTime("
64 + json_date + ")");
65 }
66 }, cd.get(Calendar.YEAR), cd.get(Calendar.MONTH),
67 cd.get(Calendar.DAY_OF_MONTH));
68pickerDialog.show();
69 }
70 });
71 };
73 }
74 }
以下是HTML的测试代码
<html> <head> <title>日期选择测试</title> <script language= "javascript" > function setDateTime(JSONdate){ var jsonobjs = eval(JSONdate); var date=jsonobjs.date; document.getElementById( "datetext" ).value=date; } </script> </head> <body> <form> <input type= "text" id= "datetext" onclick= "window.ProxyBridge.getDateTime();" value= "" /> </form> </body> </html> |
相关文章推荐
- Authentication Error errorcode: 230 uid: -1 appid -1 msg: APP Scode码校验失败
- android状态栏一体化(改变状态栏的背景颜色)开源工程推荐
- Android Studio使用经验总结
- WebView从assets中加载html5页面,实现定位功能
- Microsoft Applications on Azure
- unity3D游戏开发二之unity编辑器一
- Android:Material Design on Android Checklist!
- Android导入错误 Invalid project description
- Fixed Value Append
- Android按钮单击事件的四种写法—笔记
- android 代码生成selector drawable
- [APP资讯] 开发一个App要多少钱?有免费开发App的网站吗?
- android kl 文件的作用
- 给Android Studio安装Genymotion插件
- androidstudio快捷键-不断完善版
- iOS断言
- Monitor Screen Touch Event in Android
- 定制Android系统开发之五——ServiceFetcher
- Android WebView网页自适应手机,可放大缩小设置代码
- ios逆向工程-静态分析