我是靠谱客的博主 听话鸵鸟,最近开发中收集的这篇文章主要介绍联合使用DatePicker和TimePicker来选择日期和时间,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在Android系统中,使用DatePicker和TimePicker对象可以实现动态输入日期和时间的功能。本实例联合使用了DatePicker、TimePicker和TextView三个对象,其中用TextView来显示日期和时间,用DatePicker与TimerPicker让用户动态调整日期和时间。当用户调整了DatePicker日期或TimePicker时间时,在TextView中显示的日期或时间会随之改变。

控件TimePicker中的主要方法:

setCurrentMinute(Integer currentMinute):设置当前时间的分钟。

getCurrentMinute():获取当前时间的分钟。

setEnabled(boolean enabled):设置当前视图是否可编辑。

setOnTimeChangedListener(TimePicker.OnTimeChangedListener  onTimeChangedListener):当时间改变是调用。

控件DatePicker中的主要方法:

getDayOfMonth():获取当前日期。

getMonth():获取当前月。

getYear():获取当前年。

updateDate(int Year,int monthOfYear,int dayOfMonth):更新日期。

<?xml version="1.0" encoding="utf-8"?>
  <AbsoluteLayout
    android:id="@+id/layout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="@drawable/white"
    xmlns:android="http://schemas.android.com/apk/res/android"
  >
    <DatePicker
      android:id="@+id/dPicker"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_x="20px"
      android:layout_y="20px"
    >
    </DatePicker>
    <TimePicker
      android:id="@+id/tPicker"
      android:layout_width="220px"
      android:layout_height="wrap_content"
      android:layout_x="20px"
      android:layout_y="180px"
    >
    </TimePicker>
    <TextView
      android:id="@+id/showTime"
      android:layout_width="wrap_content"
      android:layout_height="34px"
      android:textSize="24sp"
      android:layout_x="30px"
      android:layout_y="330px"
      android:textColor="@drawable/black"
    >
    </TextView>
  </AbsoluteLayout>


package com.EX031;

/* import相关class */

import java.util.Calendar;

import com.EX031.R;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.DatePicker;
import android.widget.TimePicker;

public class EX031 extends Activity 
{ 
  /*声明日期及时间变量*/
  private int mYear;
  private int mMonth;
  private int mDay;
  private int mHour;
  private int mMinute;
  /*声明对象变量*/
  TextView tv;
  TimePicker tp;
  DatePicker dp;
  
  /** Called when the activity is first created. */
  @Override
  public void onCreate(Bundle savedInstanceState)
  {
    /*取得目前日期与时间*/
    Calendar c=Calendar.getInstance();
    mYear=c.get(Calendar.YEAR);
    mMonth=c.get(Calendar.MONTH);
    mDay=c.get(Calendar.DAY_OF_MONTH);
    mHour=c.get(Calendar.HOUR_OF_DAY);
    mMinute=c.get(Calendar.MINUTE);
    
    super.onCreate(savedInstanceState);
    /* 载入main.xml Layout */
    setContentView(R.layout.main);    
    
    /*取得TextView对象,并调用updateDisplay()
      来设置显示的初始日期时间*/
    tv= (TextView) findViewById(R.id.showTime);
    updateDisplay();
    
    /*取得DatePicker对象,以init()
      设置初始值与onDateChangeListener() */
    dp=(DatePicker)findViewById(R.id.dPicker);
    dp.init(mYear,mMonth,mDay,new DatePicker.OnDateChangedListener()
    {
      @Override
      public void onDateChanged(DatePicker view,int year,
                          int monthOfYear,int dayOfMonth)
      {
        mYear=year;
        mMonth= monthOfYear;
        mDay=dayOfMonth;
        /*调用updateDisplay()来改变显示日期*/
        updateDisplay();
      }
    });
    
    /*取得TimePicker对象,并设置为24小时制显示*/
    tp=(TimePicker)findViewById(R.id.tPicker);
    tp.setIs24HourView(true);
    
    /*setOnTimeChangedListener,并覆盖onTimeChanged event*/
    tp.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener()
    {
      @Override
      public void onTimeChanged(TimePicker view,
                              int hourOfDay,
                              int minute)
      {
        mHour=hourOfDay;
        mMinute=minute;
        /*调用updateDisplay()来改变显示时间*/
        updateDisplay();
      }
    });
  }
    
  /*设置显示日期时间的方法*/
  private void updateDisplay()
  {
    tv.setText(
      new StringBuilder().append(mYear).append("/")
                         .append(format(mMonth + 1)).append("/")
                         .append(format(mDay)).append(" ")
                         .append(format(mHour)).append(":")
                         .append(format(mMinute))
    );
  }
  
  /*日期时间显示两位数的方法*/
  private String format(int x)
  {
    String s=""+x;
    if(s.length()==1) s="0"+s;
    return s;
  }
}


最后

以上就是听话鸵鸟为你收集整理的联合使用DatePicker和TimePicker来选择日期和时间的全部内容,希望文章能够帮你解决联合使用DatePicker和TimePicker来选择日期和时间所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(42)

评论列表共有 0 条评论

立即
投稿
返回
顶部