package com.example.picker;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
public class MainActivity extends Activity {
private TimePicker timepicker;
private Button setting;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setting=(Button) findViewById(R.id.settingButton);
timepicker=(TimePicker) findViewById(R.id.timepicker);
//这里的函数设置是否显示24小时时间
timepicker.setIs24HourView(true);
//这里new两个Listener
TimeListener timelistener=new TimeListener();
settingListener settinglistener=new settingListener();
//绑定
timepicker.setOnTimeChangedListener(timelistener);
setting.setOnClickListener(settinglistener);
}
//这里定义一个内部类,继承OntimeChangeListener
class TimeListener implements OnTimeChangedListener{
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
/*
* view:该对象代表着TimePicker
* hourofDay :用户选择的世界*/
System.out.println("hour:"+hourOfDay+"minute:"+minute);
}
}
class settingListener implements OnClickListener{
@Override
public void onClick(View v) {
// 这里用tiempicker这个对象的getcurrecthour和minute方法
// 获得用户改变的对象
// current :最近的
int hour=timepicker.getCurrentHour();
int minute=timepicker.getCurrentMinute();
System.out.println("h"+hour+", m"+minute);
}
}
}
XML文件就不贴了,就一个timepicker和一个button。主要看代码
接下来是datepicker
package com.example.picker;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;
public class MainActivity extends Activity {
private TimePicker timepicker;
private Button timebutton;
private Button datebutton;
private DatePicker datepicker;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
datepicker=(DatePicker) findViewById(R.id.datepicker);
datebutton=(Button) findViewById(R.id.datebutton);
dateListener datelistener=new dateListener();
datebutton.setOnClickListener(datelistener);
}
class dateListener implements OnClickListener{
@Override
public void onClick(View v) {
// 用datepicker的get方法得到数据!
int year=datepicker.getYear();
int mouth=datepicker.getMonth();
int day=datepicker.getDayOfMonth();
<span style="color:#ff0000;"> mouth=mouth+1;//在java中,月份是从0开始算的,所以这里要加1;</span>
// 而日期是从1开始算的。
System.out.println("year:"+year+"mouth"+mouth+"day"+day);
}
}
}
实现方法和timepicker一样,但是date比较大,在xml里面设置的时候要有足够的空间给它放。
在activity里面放datepicker的做法并不明智,在以后看对话框后用对话框的监听器实现,现在只是看看随便看看如何实现和获取数据而已。
如何要在打开时初始化一个日期的话
datepicker.updateDate(2015, 4, 14);
这样一句代码就搞定了,这里要注意的是,这里的月份还是从0开始算的,现在运行的话显示的是2015.5.14;切记这个问题
在实际应用中,获取本机即时时间传入这个方法里就可以了!