Android控件:WebVIew(三)日历选择器

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     @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();
43                     pickerDialog = 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));
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>

ssss

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值