Android控件:WebVIew(三)日历选择器
来源:互联网 发布:仿砍柴网源码破解版 编辑:程序博客网 时间:2024/05/19 23:13
Android本身就有DatePicker和TimePicker控件的代码如下
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 @Override18publicvoid 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 @Override41publicvoid run() {42final Calendar cd = Calendar.getInstance();43 pickerDialog = new DatePickerDialog(44 MyWebViewTestActivity.this,45new OnDateSetListener() {4647 @Override48publicvoid 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));68 pickerDialog.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>
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 @Override18publicvoid 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 @Override41publicvoid run() {42final Calendar cd = Calendar.getInstance();43 pickerDialog = new DatePickerDialog(44 MyWebViewTestActivity.this,45new OnDateSetListener() {4647 @Override48publicvoid 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));68 pickerDialog.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>
ss
0 0
- Android控件:WebVIew(三)日历选择器
- Android WebView(转三):Android控件WebView显示网页
- 日历控件(非时间选择器)
- Android--DatePicker和TimePicker(日历选择器与时间选择器)
- [Android]时间选择器/日历选择器/选择器dialog
- Android 日历(gridview) 日期选择器
- Android小程序-日历选择器
- DateScroller自定义控件横向滑动日历选择器
- WebView---js调用原生日历控件
- Android日历阴阳历转换的实现(包括日期选择器)
- android 自定义日历控件(有图有真相)
- android 自定义日历控件
- Android自定义日历控件
- Android 日历控件:TimesSquare
- Android 自定义日历控件
- Android 日历控件 TimesSquare
- android 中的日历控件
- android自定义日历控件
- C语言知识学习课堂小笔记
- 块级元素和行内元素的区别
- pulltorefresh使用详解
- ios 全面解析block
- Java 强引用、软引用、弱引用、虚引用
- Android控件:WebVIew(三)日历选择器
- Unity内存申请和释放
- 登录测试之用户名或密码要求
- hadoop集群环境多结点搭建
- Android控件:WebVIew(二)显示网页或本地html文件
- Java关键字final、static使用总结
- Android之SimpleAdapter的使用
- Butter Knife 使用方法
- MSSQL 求累加和