<?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:android="http://schemas.android.com/apk/res/android"              android:orientation="vertical"              android:layout_width="fill_parent"              android:layout_height="fill_parent">    <TableRow            android:layout_width="fill_parent"            android:layout_height="fill_parent" android:layout_gravity="center">        <CalendarView                android:layout_width="180dp"                android:layout_height="180dp"                android:id="@+id/dialog_calendarView" android:layout_column="0"/>    </TableRow>    <TableRow            android:layout_width="fill_parent"            android:layout_height="fill_parent">        <Button                android:layout_width="90dp"                android:layout_height="match_parent"                android:text="OK"                android:id="@+id/dialog_ok"/>    </TableRow></TableLayout>



package com.pandy.db.activity;import android.app.Activity;import android.app.AlertDialog;import android.content.DialogInterface;import android.os.Handler;import android.os.Message;import android.view.LayoutInflater;import android.view.View;import android.widget.Button;import android.widget.CalendarView;import android.widget.EditText;import com.pandy.db.R;import com.pandy.db.utils.ToastUtils;import java.util.Date;import java.util.HashMap;import java.util.Map;/** * Created with IntelliJ IDEA. * User: pandy * Date: 13-6-27 * Time: 下午3:33 * To change this template use File | Settings | File Templates. * 传入要现实值的输入框,然后用线程去设定这个值. */public class CalendarViewDialog {    private Activity activity;    private EditText in_date;    private Date date;    public CalendarViewDialog(Activity activity, EditText in_date) {        this.activity = activity;        this.in_date = in_date;    }    public void show() {        //初始化界面        LayoutInflater factory = LayoutInflater.from(activity);        View view = factory.inflate(R.layout._calendar_dialog, null);        //创建对话框        final AlertDialog dialog = new AlertDialog.Builder(activity)                .setView(view)                .create();        //日历事件        CalendarView dialog_calendarView = (CalendarView)view.findViewById(R.id.dialog_calendarView);        dialog_calendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {            @Override            public void onSelectedDayChange(CalendarView calendarView, int i, int i2, int i3) {                date = new java.sql.Date(calendarView.getDate());                //启动线程去重画EditText控件                final CalendarDialogHandler handler = new CalendarDialogHandler();                Thread thread = new Thread(new Runnable() {                    @Override                    public void run() {                        Message message = new Message();                        message.what=0;                        handler.sendMessage(message);                    }                });                thread.start();            }        });        Button dialog_ok = (Button)view.findViewById(R.id.dialog_ok);        dialog_ok.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {                dialog.dismiss();            }        });        dialog.show();    }    //重画EditText控件的Handler    class CalendarDialogHandler extends Handler {        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            if(0==msg.what){                in_date.setText(date.toString());            }        }    }}

更多相关文章

  1. android 遍历所有控件
  2. Android 多线程1
  3. Android学习--动态向SPinner控件中添加数据
  4. Android在代码中设置控件的drawableLeft,drawableRight,drawableTo
  5. 编程回忆之Android回忆(个性化控件(View)篇)
  6. Android 控件布局实现卡片效果,阴影效果

随机推荐

  1. 详解MySQL数据库之触发器
  2. Datagrip2020下载MySQL驱动失败的问题
  3. MySQL如何通过Navicat实现远程连接
  4. 一次Mysql使用IN大数据量的优化记录
  5. 详解mysql慢日志查询
  6. mysql8.0.20配合binlog2sql的配置和简单
  7. MySQL索引失效的几种情况汇总
  8. 详解MySQL 聚簇索引与非聚簇索引
  9. MySQL 索引的优缺点以及创建索引的准则
  10. MySQL MyISAM 与InnoDB 的区别