欢迎访问移动开发之家(rcyd.net),关注移动开发教程。移动开发之家  移动开发问答|  每日更新
页面位置 : > > > 内容正文

Android中日期与时间设置控件的使用,android控件

来源: 开发者 投稿于  被查看 12015 次 评论:84

Android中日期与时间设置控件的使用,android控件


1、日期设置控件:DatePickerDialog

2、时间设置控件:TimePickerDialog

实例代码

1、页面添加两个Button,单击分别显示日期设置控件和时间设置控件,还是有TextView控件,用于显示设置后的系统时间

1.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:id="@+id/dateAndTime"
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:text="@string/hello"
    />
<Button    Android:id="@+id/setDate"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:text="Set the Date"></Button>
<Button    Android:id="@+id/setTime"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:text="Set the Time"></Button>
</LinearLayout>

2.ChronoDemo.java

package yyl.Android;

import java.text.DateFormat;
import java.util.Calendar;
import java.util.Locale;

import Android.app.Activity;
import Android.app.DatePickerDialog;
import Android.app.TimePickerDialog;
import Android.os.Bundle;
import Android.view.View;
import Android.widget.Button;
import Android.widget.DatePicker;
import Android.widget.TextView;
import Android.widget.TimePicker;

public class ChronoDemo extends Activity {
   //获取日期格式器对象
    DateFormat fmtDateAndTime = DateFormat.getDateTimeInstance();
    //定义一个TextView控件对象
    TextView dateAndTimeLabel = null;
    //获取一个日历对象
    Calendar dateAndTime = Calendar.getInstance(Locale.CHINA);
   
   
    //当点击DatePickerDialog控件的设置按钮时,调用该方法
    DatePickerDialog.OnDateSetListener d = new DatePickerDialog.OnDateSetListener()
    {
        @Override
        public void onDateSet(DatePicker view, int year, int monthOfYear,
                int dayOfMonth) {
            //修改日历控件的年,月,日
            //这里的year,monthOfYear,dayOfMonth的值与DatePickerDialog控件设置的最新值一致
            dateAndTime.set(Calendar.YEAR, year);
            dateAndTime.set(Calendar.MONTH, monthOfYear);
            dateAndTime.set(Calendar.DAY_OF_MONTH, dayOfMonth);   
            //将页面TextView的显示更新为最新时间
            updateLabel();           
        }       
    };
   


    TimePickerDialog.OnTimeSetListener t = new TimePickerDialog.OnTimeSetListener() {
       
        //同DatePickerDialog控件
        @Override
        public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
            dateAndTime.set(Calendar.HOUR_OF_DAY, hourOfDay);
            dateAndTime.set(Calendar.MINUTE, minute);
            updateLabel();
           
        }
    };
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       
        //得到页面设定日期的按钮控件对象
        Button dateBtn = (Button)findViewById(R.id.setDate);
        //设置按钮的点击事件监听器
        dateBtn.setOnClickListener(new View.OnClickListener() {
           
            @Override
            public void onClick(View v) {
                //生成一个DatePickerDialog对象,并显示。显示的DatePickerDialog控件可以选择年月日,并设置
                new DatePickerDialog(ChronoDemo.this,
                        d,
                        dateAndTime.get(Calendar.YEAR),
                        dateAndTime.get(Calendar.MONTH),
                        dateAndTime.get(Calendar.DAY_OF_MONTH)).show();               
            }
        });
       
        Button timeBtn = (Button)findViewById(R.id.setTime);
        timeBtn.setOnClickListener(new View.OnClickListener() {
           
            //同上原理
            @Override
            public void onClick(View v) {
                new TimePickerDialog(ChronoDemo.this,
                        t,
                        dateAndTime.get(Calendar.HOUR_OF_DAY),
                        dateAndTime.get(Calendar.MINUTE),
                        true).show();
               
            }
        });
       
        dateAndTimeLabel=(TextView)findViewById(R.id.dateAndTime);
       
        updateLabel();
    }
   
    //更新页面TextView的方法
    private void updateLabel() {
        dateAndTimeLabel.setText(fmtDateAndTime
        .format(dateAndTime.getTime()));
        }
}

用户评论