您的位置:首页 > 移动开发 > Android开发

时间设置对话框 DatePickerDialog的使用

2011-10-22 15:00 441 查看
时间设置对话框DatePickerDialog的使用
一、可以同过重载DatePickerDialog的setTitle来设置个性的标题

比如:    
@Override    

    public void setTitle(CharSequence title) {

        // TODO Auto-generated method stub

        java.text.DateFormat dataFormat = (DateFormat

                .getDateFormat(getContext()));

        mCalendar = Calendar.getInstance();

       //可得到“12/31/1969(Wed)”形式的日期格式

        String strTitle=dataFormat.format(mCalendar.getTime())

        + DateFormat.format(" (E)", mCalendar.getTime()).toString();

        super.setTitle(dataFormat.format(strTitle);

    }
二、通过onDateChanged回调函数监听时间的改变
当时间改变时(编辑) 以下函数回被调用

 public void onDateChanged(DatePicker view, int year, int month, int day) {

        Log.i("hubin","onDateChanged");

    }
三、通过updateDate()设置年月日
public    void    updateDate      (int year, int monthOfYear, int dayOfMonth)设置DatePickerDialog的年,月,日
四、通过onDateChangedListener来监听时间设置对话框的确定按钮被按下
onDateChangedListener的onDateSet是用于都在时间设置对话框的确定按钮被按下的监听

import java.util.Calendar;

import java.util.Date;

import java.util.Locale;

import android.app.Activity;

import android.app.DatePickerDialog;

import android.app.DatePickerDialog.OnDateSetListener;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.DatePicker;

import android.widget.TextView;

public class TestClock extends Activity implements OnDateSetListener, OnClickListener {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button btn = (Button)findViewById(R.id.date);

btn.setOnClickListener(this);

}

public void onClick(View v) {//普通按钮事件

Calendar d = Calendar.getInstance(Locale.CHINA);

//创建一个日历引用d,通过静态方法getInstance() 从指定时区 Locale.CHINA 获得一个日期实例

Date myDate=new Date();

//创建一个Date实例

d.setTime(myDate);

//设置日历的时间,把一个新建Date实例myDate传入

int year=d.get(Calendar.YEAR);

int month=d.get(Calendar.MONTH);

int day=d.get(Calendar.DAY_OF_MONTH);

//获得日历中的 year month day

DatePickerDialog dlg=new DatePickerDialog(this,this,year,month,day);

//新建一个DatePickerDialog 构造方法中         

//     (设备上下文,OnDateSetListener时间设置监听器,默认年,默认月,默认日)

dlg.show();

//让DatePickerDialog显示出来

}

public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth){

//DatePickerDialog 中按钮Set按下时自动调用

TextView txt = (TextView) findViewById(R.id.text);

//通过id获得TextView对象

txt.setText(Integer.toString(year) + "-" +

Integer.toString(monthOfYear) + "-" +

Integer.toString(dayOfMonth));

//设置text

}

}

main.xml

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<TextView  

android:layout_width="fill_parent" 

android:layout_height="wrap_content" 

android:text="@string/hello"

android:id="@+id/text"

/>

<Button 

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:id="@+id/date"

android:text="設置時間"

>

</Button>

</LinearLayout>  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息