android--日期时间控件(十二)
2015-03-24 19:30
218 查看
一、先看看实现的效果:
![](http://img.blog.csdn.net/20150324192804775?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbG92ZWhlcm9ubHk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
点击日期"2015-03-24"会弹出选择日期的对话框
![](http://img.blog.csdn.net/20150324192811156?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbG92ZWhlcm9ubHk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
点击时间,则弹出时间的对话框
![](http://img.blog.csdn.net/20150324192849713?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbG92ZWhlcm9ubHk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
二、代码如下:
1.xml文件
2.后台代码如下
点击日期"2015-03-24"会弹出选择日期的对话框
点击时间,则弹出时间的对话框
二、代码如下:
1.xml文件
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:id="@+id/txtDate" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击设置日期" /> <TextView android:id="@+id/txtTime" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="2dp" android:text="点击设置时间" /> </LinearLayout>
2.后台代码如下
package com.example.time; import java.sql.Date; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Locale; import android.os.Bundle; import android.app.Activity; import android.app.DatePickerDialog; import android.app.TimePickerDialog; import android.util.Log; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.DatePicker; import android.widget.TextView; import android.widget.TimePicker; public class MainActivity extends Activity { private final static String TAG="TimeDate"; //获取日期格式器对象 DateFormat fmtDate = new java.text.SimpleDateFormat("yyyy-MM-dd"); DateFormat fmtTime = new java.text.SimpleDateFormat("HH:mm:ss"); //定义一个TextView控件对象 TextView txtDate = null; TextView txtTime = 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的显示更新为最新时间 upDateDate(); } }; 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); upDateTime(); } }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d(TAG,"onCreate"); txtDate =(TextView)findViewById(R.id.txtDate); txtDate.setClickable(true); txtDate.setFocusable(true); txtTime =(TextView)findViewById(R.id.txtTime); txtTime.setClickable(true); txtTime.setFocusable(true); txtDate.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ Log.d(TAG,"txtDate click start"); DatePickerDialog dateDlg = new DatePickerDialog(MainActivity.this, d, dateAndTime.get(Calendar.YEAR), dateAndTime.get(Calendar.MONTH), dateAndTime.get(Calendar.DAY_OF_MONTH)); dateDlg.show(); Log.d(TAG,"Date show"); } }); txtTime.setOnClickListener(new OnClickListener(){ @Override public void onClick(View v){ Log.d(TAG,"txtTime click start"); Log.d(TAG,"Date show"); TimePickerDialog timeDlg = new TimePickerDialog(MainActivity.this, t, dateAndTime.get(Calendar.HOUR_OF_DAY), dateAndTime.get(Calendar.MINUTE), true); timeDlg.show(); } }); upDateDate(); upDateTime(); } private void upDateDate() { txtDate.setText(fmtDate.format(dateAndTime.getTime())); } private void upDateTime() { txtTime.setText(fmtTime.format(dateAndTime.getTime())); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
相关文章推荐
- 两种方式使用android时间和日期控件
- 第11章、日期DatePicker与时间TimePicker控件(从零开始学Android)
- Android ApiDemos 学习——时间日期控件
- android开发笔记--时间控件只显示年月不显示日期【如有需要可以更为只显示月日不显示年份】
- 第11章、日期DatePicker与时间TimePicker控件(从零开始学Android)
- 两种方式使用android时间和日期控件
- android学习---时间日期控件
- Android中日期与时间设置控件的使用
- Android 滚动的时间日期选择控件
- 学习Android之 时间日期控件的使用
- Android中日期和时间控件的使用
- Android入门之时间日期控件
- android日期时间控件
- 两种方式使用android时间和日期控件
- 两种方式使用android时间和日期控件
- Android中的日期控件和时间控件
- Android实现自定义的 时间日期 控件
- 【Android 开发】:UI控件之时间和日期对话框控件的的使用(四)
- Android UI控件系列:DatePicker,TimePicker(日期和时间选择)
- 第11章、日期DatePicker与时间TimePicker控件(从零开始学Android)