外部shell调用函数返回值shell调用函数返回值DatePickerDialog给时间值

今天看啥 热点:
Android开发之DatePickerDialog与TimePickerDialog的功能和用法详解,androiddialog用法
DatePickerDialog与TimePickerDialog的功能比较简单,用法也很简单,只要下面两步即可。
通过new关键字创建DatePickerDialog、TimePickerDialog实例,调用它们的show()方法即可将日期选择对话框、时间选择对话框显示出来。
为DatePickerDialog、TimePickerDialog绑定监听器,这样可以保证用户通过DatePickerDialog、TimePickerDialog设置事件是触发监听器,从而通过监听器来获取用户设置的事件。
TimePickerDialog(时间选择对话框)
一个使用TimePicker的对话框,为用户提供时间选择。
java.lang.Object
? android.app.Dialog
? android.app.AlertDialog
? android.app.TimePickerDialog
Public Constructors
TimePickerDialog(Context&context,&TimePickerDialog.OnTimeSetListener&callBack, int hourOfDay, int minute, boolean is24HourView)
TimePickerDialog(Context&context, int theme,&TimePickerDialog.OnTimeSetListener&callBack, int hourOfDay, int minute, boolean
is24HourView)
public&TimePickerDialog&(Context&context,&TimePickerDialog.OnTimeSetListener&callBack,inthourOfDay,
int minute, boolean is24HourView)
运行组件的Activity。
用户选择好时间后,通知应用的回调函数。
初始的小时。
初始的分钟。
is24HourView
是否使用24小时制。
public&TimePickerDialog&(Context&context,int teme,&TimePickerDialog.OnTimeSetListener&callBack,int
hourOfDay, int minute, boolean is24HourView)
运行组件的Activity。
应用在时间选择对话框上的主题。
用户选择好时间后,通知应用的回调函数。
初始的小时。
初始的分钟。
is24HourView
是否使用24小时制。
公有方法:
Public Methods
onClick(DialogInterface&dialog, int which)
当对话框上的按钮被单击时这个方法将被回调。
onRestoreInstanceState(Bundle&savedInstanceState)
从前一个保存的bundle
中恢复对话框的状态。
onSaveInstanceState()
将对话框的状态保存到bundle
onTimeChanged(TimePicker&view, int hourOfDay, int minute)
当时间被关改变的时候回调该方法。
updateTime(int hourOfDay, int minutOfHour)
public static class TimePickerFragment extends DialogFragment
implements TimePickerDialog.OnTimeSetListener {
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current time as the default values for the picker
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
// Create a new instance of TimePickerDialog and return it
return new TimePickerDialog(getActivity(), this, hour, minute,
DateFormat.is24HourFormat(getActivity()));
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// Do something with the time chosen by the user
DatePickerDialog(时间选择对话框)
一个带有的DatePicker的简单对话框,为用户提供日期选择。
java.lang.Object
? android.app.Dialog
? android.app.AlertDialog
? android.app.DatePickerDialog
Public Constructors
DatePickerDialog(Context&context,&DatePickerDialog.OnDateSetListener&callBack,
int year, int monthOfYear, int dayOfMonth)
DatePickerDialog(Context&context, int theme,&DatePickerDialog.OnDateSetListener&callBack,
int year, int monthOfYear, int dayOfMonth)
public DatePickerDialog(Context&context,&DatePickerDialog.OnDateSetListener&callBack,
int year, int monthOfYear, intdayOfMonth)
运行组件的Activity。
用户选择好日期后,通知应用的回调函数。
初始的年。
monthOfYear
初始的月。
dayOfMonth
初始的天。
public&DatePickerDialog(Context&context, int theme,&DatePickerDialog.OnDateSetListener&callBack,
int year, int monthOfYear, intdayOfMonth)
运行组件的Activity。
应用在日期选择对话框上的主题。
用户选择好日期后,通知应用的回调函数。
初始的年。
monthOfYear
初始的月。
dayOfMonth
初始的天。
公有方法:
Public Methods
DatePicker
getDatePicker()
获取日期选择对话框。
onClick(DialogInterface&dialog, int which)
当对话框上的按钮被单击时这个方法将被回调。
onDateChanged(DatePicker&view, int year, int month, int day)
当日期改变的时候回调该方法。
onRestoreInstanceState(Bundle&savedInstanceState)
当对话框上的按钮被单击时这个方法将被回调。
onSaveInstanceState()
将对话框的状态保存到bundle
updateDate(int year, int monthOfYear, int dayOfMonth)
设置当前日期。
public static class DatePickerFragment extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
final Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH);
int day = c.get(Calendar.DAY_OF_MONTH);
// Create a new instance of DatePickerDialog and return it
return new DatePickerDialog(getActivity(), this, year, month, day);
public void onDateSet(DatePicker view, int year, int month, int day) {
// Do something with the date chosen by the user
/xiang1992/p/3411242.html
这是我以前写的例子,希望对你有帮助android
开发文档里面有详细的类和方法说明:/...g.html
  package com.  import java.util.C  import android.app.A  import android.app.TimePickerD  import android.app.TimePickerDialog.OnTimeSetL  import android.os.B  import android.text.format.DateF  import android.view.V  import android.view.View.OnClickL  import android.widget.B  import android.widget.TimeP  public class TestTimeTickerActivity extends Activity implements OnClickListener{  /** Called when the activity is first created. */  private C  private B  @Override  public void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.main);  button = (Button)findViewById(R.id.button);  button.setOnClickListener(this);  c = Calendar.getInstance();  c.setTimeInMillis(System.currentTimeMillis());  }  @Override  public void onClick(View v) {  // TODO Auto-generated method stub  int hour = c.get(Calendar.HOUR_OF_DAY);  int minute = c.get(Calendar.MINUTE);  new TimePickerDialog(this, new OnTimeSetListener() {  @Override  public void onTimeSet(TimePicker view, int hourOfDay, int minute) {  // TODO Auto-generated method stub  }  }  , hour, minute, DateFormat.is24HourFormat(this)).show();  }  }  去试试...余下全文>>
相关搜索:
相关阅读:
相关频道:
Android教程最近更新DatePickerDialog.日期控件的简单使用 - qq_的专栏 - CSDN博客
DatePickerDialog.日期控件的简单使用
android学习经验
总结对日期控件的使用:
&?xml&version=&1.0&
encoding=&utf-8&?&&
&LinearLayout&xmlns: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=&日期控件的使用DEMO& /&&
&&&&&LinearLayout&android:orientation=&horizontal&&
&&&&&&&android:layout_width=&fill_parent&
android:layout_height=&wrap_content&&&
&&&&&&&&EditText&android:id=&@+id/showDate&
android:layout_width=&200dip&&
&&&&&&&&&&&android:layout_height=&wrap_content&
&&&&&&&&Button&android:id=&@+id/but_showDate&
android:layout_width=&100dip&&
&&&&&&&&&&&android:layout_height=&wrap_content&
android:text=&选择日期& /&&
&&&&&/LinearLayout&&
&/LinearLayout&&
//相信大家都看得懂布局,一个显示日期的EditText,点击按钮则出现DatePickerDialog
package com.wanghf. &
import java.util.C &
import android.app.A &
import android.app.DatePickerD &
import android.app.D &
import android.os.B &
import android.os.H &
import android.os.M &
import android.view.V &
import android.widget.B &
import android.widget.DateP &
import android.widget.EditT &
&* 日期控件的简单使用&
&* @author adminelco&
public class MainActivity extends Activity { &
& & private EditText showDate = &
& & private Button pickDate = &
& & private static final int DATE_DIALOG_ID = 1; &//生成DatePickerDialog的标识
& & private static final int SHOW_DATAPICK = 0; &//判断是否显示
& & private int mY &
& & private int mM &
& & private int mD &
& & /** Called when the activity is first created. */ &
& & @Override &
& & public void onCreate(Bundle savedInstanceState) { &
& & & &super.onCreate(savedInstanceState); &
& & & &setContentView(R.layout.main); &
& & & &showDate = (EditText) findViewById(R.id.showDate); &
& & & &pickDate = (Button) findViewById(R.id.but_showDate); &
& & & &pickDate.setOnClickListener(new DateButtonOnClickListener()); &
& & & &final Calendar c = Calendar.getInstance(); &
& & & &mYear = c.get(Calendar.YEAR); &
& & & &mMonth = c.get(Calendar.MONTH); &
& & & &mDay = c.get(Calendar.DAY_OF_MONTH); &
& & & &setDateTime(); &//初始化EditText中显示的日期
& & private void setDateTime() { &
& & & &//获得系统当前日期
& & & &final Calendar c = Calendar.getInstance(); &
& & & &mYear = c.get(Calendar.YEAR); &
& & & &mMonth = c.get(Calendar.MONTH); &
& & & &mDay = c.get(Calendar.DAY_OF_MONTH); &
& & & &updateDisplay(); &
& & &* 更新日期&
& & private void updateDisplay() { &
//这儿修改日期显示格式
& & & &showDate.setText(new StringBuilder().append(mYear).append( &
& & & & & & & (mMonth + 1) & 10 ? &0& + (mMonth + 1) : (mMonth + 1)).append( &
& & & & & & & (mDay & 10) ? &0& + mDay : mDay)); &
& & &* 日期控件的事件&
& & private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() { &
//弹出时间对话框,点击完成后调用该方法,第一个参数为日期控件,后面三个参数依次为当前选中的年,月,日
& & & &public void onDateSet(DatePicker view, int year, int monthOfYear, &
& & & & & & & int dayOfMonth) { &
& & & & & &mYear = &
& & & & & &mMonth = monthOfY &
& & & & & &mDay = dayOfM &
& & & & & &updateDisplay(); &
& & & &} &
& & &* 选择日期Button的事件处理&
& & &* @author Raul&
& & class DateButtonOnClickListener implements &
& & & & & &android.view.View.OnClickListener { &
& & & &@Override &
//点击选择日期按钮,发送显示DatePickerDialog消息
& & & &public void onClick(View v) { &
& & & & & &Message msg = new Message(); &
& & & & & &if (pickDate.equals((Button) v)) { &
& & & & & & & msg.what = MainActivity.SHOW_DATAPICK; &
& & & & & &} &
& & & & & &MainActivity.this.saleHandler.sendMessage(msg); &
& & & &} &
& & //该方法只调用依次,第一次显示DatePickerDialog时调用 &
& & @Override &
& & protected Dialog onCreateDialog(int id) { &
& & & &switch (id) { &
& & & &case DATE_DIALOG_ID: &
&&//五个参数分别为Context,OnDateSetListener ,弹出Dialog时,默认选中的年,月,日
& & & & & &return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, &
& & & & & & & & & mDay); &
& & & &} &
& & @Override &
& & protected void onPrepareDialog(int id, Dialog dialog) { &
& & & &switch (id) { &
& & & &case DATE_DIALOG_ID: &
//该方法在onCreateDialog后调用,会覆盖onCreateDialog中的后三个参数
&&//三个参数分别为弹出Dialog时,默认选中的年,月,日
& & & & & &((DatePickerDialog) dialog).updateDate(mYear, mMonth, mDay); &
& & & & & & &
& & & &} &
& & &* 处理日期控件的Handler&
& & Handler saleHandler = new Handler() { &
& & & &@Override &
& & & &public void handleMessage(Message msg) { &
& & & & & &switch (msg.what) { &
& & & & & &case MainActivity.SHOW_DATAPICK: &
& & & & & & & showDialog(DATE_DIALOG_ID); &//之后调用onCreateDialog方法
& & & & & & & &
& & & & & &} &
& & & &} &
//总结一下DatePickerDialog的方法调用顺序
//调用&showDialog(id,
bundle),首先回调onCreateDialog(int
id),该方法只生成一次,然后之后再点击,就会回调onPrepareDialog(int
id, Dialog dialog)
//还有一点,不同的主题显示出来的DatePickerDialog样式可能不同,当前样式需将AndroidManifest.xml中的theme设置为android:theme=&@style/AppTheme&
我的热门文章实现效果:将DatePicker和TimePicker修改的日期和时间实时显示在程序标题栏上。
1.通过DatePicker和TimePicker来实现
布局为main.xml
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" &
&DatePicker
android:id="@+id/datePicker"
android:layout_width="match_parent"
android:layout_height="wrap_content" /&
&TimePicker
android:id="@+id/timePicker"
android:layout_width="match_parent"
android:layout_height="wrap_content" /&
&/LinearLayout&
MainActivity.java
import java.util.C
import android.support.v7.app.ActionBarA
import android.app.DatePickerD
import android.app.DatePickerDialog.OnDateSetL
import android.app.TimePickerD
import android.app.TimePickerDialog.OnTimeSetL
import android.os.B
import android.view.M
import android.view.MenuI
import android.widget.DateP
import android.widget.DatePicker.OnDateChangedL
import android.widget.TimeP
import android.widget.TimePicker.OnTimeChangedL
public class MainActivity extends ActionBarActivity {
private TimePicker timeP
private DatePicker dateP
private int year, month,
private int hour,
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取日历的一个对象
cal = Calendar.getInstance();
//获取年月日时分秒的信息
year = cal.get(Calendar.YEAR);
//month从0开始计算(一月month = 0)
month = cal.get(Calendar.MONTH)+1;
day = cal.get(Calendar.DAY_OF_MONTH);
hour = cal.get(Calendar.HOUR_OF_DAY);
minute = cal.get(Calendar.MINUTE);
//设置标题
setTitle(year+"-"+month+"-"+day+" "+hour+":"+minute);
datePicker = (DatePicker) findViewById(R.id.datePicker);
timePicker = (TimePicker) findViewById(R.id.timePicker);
//datePicker的初始化
datePicker.init(year,
cal.get(Calendar.MONTH), day, new OnDateChangedListener() {
public void onDateChanged(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
//monthOfYear从0计算
setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth);
timePicker.setOnTimeChangedListener(new OnTimeChangedListener() {
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
setTitle(hourOfDay+":"+minute);
首先建立Calendar对象来获取当前的系统时间和日期,然后设置在程序标题栏上,注意cal.get(Calendar.MONTH)返回的值从0开始,即返回0时代表一月。
DatePicker初始化调用public void init(int year, int monthOfYear, int dayOfMonth,&OnDateChangedListener onDateChangedListener),最后一个参数为DatePicker的监听器。TimePicker直接设置监听器。
更改DatePicker
更改TimePicker
2.使用Dialog,更加美观
布局为main.xml
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" &
&/LinearLayout&
没有加入任何控件
MainActivity.java
import java.util.C
import android.support.v7.app.ActionBarA
import android.app.DatePickerD
import android.app.DatePickerDialog.OnDateSetL
import android.app.TimePickerD
import android.app.TimePickerDialog.OnTimeSetL
import android.os.B
import android.view.M
import android.view.MenuI
import android.widget.DateP
import android.widget.DatePicker.OnDateChangedL
import android.widget.TimeP
import android.widget.TimePicker.OnTimeChangedL
public class MainActivity extends ActionBarActivity {private C
private int year, month,
private int hour,
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取日历的一个对象
cal = Calendar.getInstance();
//获取年月日时分秒的信息
year = cal.get(Calendar.YEAR);
//month从0开始计算(一月month = 0)
month = cal.get(Calendar.MONTH)+1;
day = cal.get(Calendar.DAY_OF_MONTH);
hour = cal.get(Calendar.HOUR_OF_DAY);
minute = cal.get(Calendar.MINUTE);
//设置标题
setTitle(year+"-"+month+"-"+day+" "+hour+":"+minute);
//日历选择器的对话框形式
new DatePickerDialog(this, new OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
setTitle(year+"-"+(monthOfYear+1)+"-"+dayOfMonth);
},year, cal.get(Calendar.MONTH), day).show();
//时间选择器的对话框形式(最后一个参数is24HourView,是否为24小时制)
new TimePickerDialog(this, new OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
setTitle(hourOfDay+":"+minute);
}, hour, minute, true).show();
使用匿名类的方式,直接创建DatePickerDialog和TimePickerDialog对象,构造方法如下
public DatePickerDialog(Context context,&OnDateSetListener callBack,&int year,&int monthOfYear,&int dayOfMonth)
public TimePickerDialog(Context context,&OnTimeSetListener callBack,&int hourOfDay, int minute, boolean is24HourView)
直接在构造方法中使用匿名内部类的方法添加监听器,is24HourView是个boolean类型的值,来表示是否使用24小时制。
注意使用cal.get(Calendar.MONTH)得到的值会比真实的月份值小1,在setTitle时需要加1,而在传入到DatePicker的初始化方法和DatePickerDialog的构造方法时应该直接传入。
建议在这两个方法内直接写cal.get(Calendar.MONTH),不要用自定义变量month。
阅读(...) 评论()Android DatePicker使用遇到了一些问题_百度知道
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。
Android DatePicker使用遇到了一些问题
输入月份只输入‘1’然后点击提示框的确定按钮因为没有失去焦点,不能得到输入的月份值如果输入完点击其他的时间控件,手动输入日期,例如。。怎么动态的获取输入的时间呢?求指教~~~用什么事件呢??日期选择器用提示框弹出后,就能捕捉到输入的月份。
我有更好的答案
点击确定的时候先editText.requestFocus():不直接用DatePickerDialog,用AlertDialog
setView的方式,view 里面放一个DatePicker、TimePicker和EditText(EditText的长宽为0dp)让它失去焦点就可以了
我简直不知道你想表达个什么意思。手机?
为您推荐:
其他类似问题
datepicker的相关知识
换一换
回答问题,赢新手礼包2010年8月 移动平台大版内专家分月排行榜第三
2010年8月 移动平台大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 传值调用和引用调用 的文章

 

随机推荐