当前位置:首页 » 安卓系统 » android的datepicker

android的datepicker

发布时间: 2022-05-23 13:36:25

⑴ android DatePicker怎么显示为XXXX-XX-XX(年-月-日)

  • 代码是这样的:

[java]view plain

<DatePicker

android:id="@+id/userbrithday"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

/>

  • 代码显示:同样的代码,产生下面两种显示。

    • 第一种显示(这种的,在系统设置中把系统语言改成英文就显示下面那种了)

  • 安卓设备系统语言设置方法,以谷歌nexus 5 手机为例(其他安卓设备可能有所差别,但大致位置不变):

    1. 打开系统设置:应用图标是小齿轮

    2. 找到“语言和输入法”选项,点击进入

    3. 点击第一项“语言”进入

    4. 选择“中文(简体)”可切换系统语言为中文,而选择“English(United States)”可切换系统语言为英文

⑵ android 怎么设置datepicker和timepicker输出的格式

结构:

[html] view plain print?
<pre name="code" class="html">java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.widget.FrameLayout
↳ android.widget.DatePicker

⑶ android 怎么设置DatePickerDialog只能选择未来日期,当选择过去的日期将弹出提示框提示

首先,你要获得当前的日期:
Calendar c=Calendar.getInstance();
year=c.get(Calendar.YEAR);
month=c.get(Calendar.MONTH);
day=c.get(Calendar.DAY_OF_MONTH);
然后读取你设置的日期:
datePicker.init(year, month, day, new OnDateChangedListener() {

@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
this.year=year;
this.month=monthOfYear+1; //月份要加1
his.day=dayOfMonth;
}
});
最后判断,所选择的日期是否大于或小于当前日期。
点到为止,自己写吧。我正好做日期这块。

⑷ Android DatePicker使用遇到了一些问题

让它失去焦点就可以了:

不直接用DatePickerDialog,用AlertDialog setView的方式,

view 里面放一个DatePicker、TimePicker和EditText(EditText的长宽为0dp),

点击确定的时候先editText.requestFocus();再用datePicker.getYear()、 datePicker.getMonth()等就可以了

⑸ android 的DatePicker怎么取出 年月日的值

这是一个Android原生的控件,一个日期控件,如你所说,有年月日
第一步:
获取DatePicker的控件

DatePicker mDatePicker = (DatePicker)findViewById(R.id.datePicker);

第二步:
初始化并设置监听

mDatePicker.init(mYear,mMonth,mDay,new DatePicker.OnDateChangeListener()

{
@Override

public void onDateChanged(DatePicker view,int year,int monthOfYear,int dayOfMonth)

{
//Todo 对获取的日期进行处理,例如

Toast.makText(mContext,""+year+monthOfYear+dayOfMonth,1000).show();

}

}

⑹ android开发,datepicker设置好日期之后,怎么把值取出来

//new DatePickerDialog(this, new OnDateSetListener() {
//@Override
//public void onDateSet(DatePicker view, int years, int monthOfYear,
//int dayOfMonth) {
//// TODO Auto-generated method stub
//zcyear = years;zcmonth = monthOfYear;zcday = dayOfMonth;
//}
//}, zcyear, zcmonth, zcday).show();
这是我之前写的代码,设置好后zcyear就是选择的年份,其他类推。
注意Android系统的month是从0开始的

⑺ android 怎么设置timePicker可以选择的时间范围

Android DatePickerDialog只能设置当前显示的值,不能设置选择范围,范围需要在代码中判断。
在Android程序中,通常需要使用DatePicker来设置日期,TimePicker来设置时间。其基本步骤是:
1.先定义DatePicker和TimePicker布局。
2.然后通过Calendar类获得系统时间。
3.接着通过init方法将日期传递给DatePicker初始化日期控件。
4.在响应点击事件中可以通过DatePicker的getYear()、getDayOfMonth()、getMonth()函数获取具体日期。
同时可以在OnDateChangedListener事件中监听日期变化,设置时间函数方法同理。

⑻ 安卓 怎样自定义一个时间选择器

实现的效果就是在同一个布局上显示日期选择和时间选择。

自定义一个类:
/DateTimePicker/src/com/wwj/datetimepicker/DateTimePickDialogUtil.java
package com.wwj.datetimepicker;

import java.text.SimpleDateFormat;
import java.util.Calendar;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.widget.DatePicker;
import android.widget.DatePicker.OnDateChangedListener;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TimePicker;
import android.widget.TimePicker.OnTimeChangedListener;

/**
* 日期时间选择控件 使用方法: private EditText inputDate;//需要设置的日期时间文本编辑框 private String
* initDateTime="2012年9月3日 14:44",//初始日期时间值 在点击事件中使用:
* inputDate.setOnClickListener(new OnClickListener() {
*
* @Override public void onClick(View v) { DateTimePickDialogUtil
* dateTimePicKDialog=new
* DateTimePickDialogUtil(SinvestigateActivity.this,initDateTime);
* dateTimePicKDialog.dateTimePicKDialog(inputDate);
*
* } });
*
* @author
*/
public class DateTimePickDialogUtil implements OnDateChangedListener,
OnTimeChangedListener {
private DatePicker datePicker;
private TimePicker timePicker;
private AlertDialog ad;
private String dateTime;
private String initDateTime;
private Activity activity;

/**
* 日期时间弹出选择框构造函数
*
* @param activity
* :调用的父activity
* @param initDateTime
* 初始日期时间值,作为弹出窗口的标题和日期时间初始值
*/
public DateTimePickDialogUtil(Activity activity, String initDateTime) {
this.activity = activity;
this.initDateTime = initDateTime;

}

public void init(DatePicker datePicker, TimePicker timePicker) {
Calendar calendar = Calendar.getInstance();
if (!(null == initDateTime || "".equals(initDateTime))) {
calendar = this.getCalendarByInintData(initDateTime);
} else {
initDateTime = calendar.get(Calendar.YEAR) + "年"
+ calendar.get(Calendar.MONTH) + "月"
+ calendar.get(Calendar.DAY_OF_MONTH) + "日 "
+ calendar.get(Calendar.HOUR_OF_DAY) + ":"
+ calendar.get(Calendar.MINUTE);
}

datePicker.init(calendar.get(Calendar.YEAR),
calendar.get(Calendar.MONTH),
calendar.get(Calendar.DAY_OF_MONTH), this);
timePicker.setCurrentHour(calendar.get(Calendar.HOUR_OF_DAY));
timePicker.setCurrentMinute(calendar.get(Calendar.MINUTE));
}

/**
* 弹出日期时间选择框方法
*
* @param inputDate
* :为需要设置的日期时间文本编辑框
* @return
*/
public AlertDialog dateTimePicKDialog(final EditText inputDate) {
LinearLayout dateTimeLayout = (LinearLayout) activity
.getLayoutInflater().inflate(R.layout.common_datetime, null);
datePicker = (DatePicker) dateTimeLayout.findViewById(R.id.datepicker);
timePicker = (TimePicker) dateTimeLayout.findViewById(R.id.timepicker);
init(datePicker, timePicker);
timePicker.setIs24HourView(true);
timePicker.setOnTimeChangedListener(this);

ad = new AlertDialog.Builder(activity)
.setTitle(initDateTime)
.setView(dateTimeLayout)
.setPositiveButton("设置", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
inputDate.setText(dateTime);
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
inputDate.setText("");
}
}).show();

onDateChanged(null, 0, 0, 0);
return ad;
}

public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
onDateChanged(null, 0, 0, 0);
}

public void onDateChanged(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// 获得日历实例
Calendar calendar = Calendar.getInstance();

calendar.set(datePicker.getYear(), datePicker.getMonth(),
datePicker.getDayOfMonth(), timePicker.getCurrentHour(),
timePicker.getCurrentMinute());
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm");

dateTime = sdf.format(calendar.getTime());
ad.setTitle(dateTime);
}

/**
* 实现将初始日期时间2012年07月02日 16:45 拆分成年 月 日 时 分 秒,并赋值给calendar
*
* @param initDateTime
* 初始日期时间值 字符串型
* @return Calendar
*/
private Calendar getCalendarByInintData(String initDateTime) {
Calendar calendar = Calendar.getInstance();

// 将初始日期时间2012年07月02日 16:45 拆分成年 月 日 时 分 秒
String date = spliteString(initDateTime, "日", "index", "front"); // 日期
String time = spliteString(initDateTime, "日", "index", "back"); // 时间

String yearStr = spliteString(date, "年", "index", "front"); // 年份
String monthAndDay = spliteString(date, "年", "index", "back"); // 月日

String monthStr = spliteString(monthAndDay, "月", "index", "front"); // 月
String dayStr = spliteString(monthAndDay, "月", "index", "back"); // 日

String hourStr = spliteString(time, ":", "index", "front"); // 时
String minuteStr = spliteString(time, ":", "index", "back"); // 分

int currentYear = Integer.valueOf(yearStr.trim()).intValue();
int currentMonth = Integer.valueOf(monthStr.trim()).intValue() - 1;
int currentDay = Integer.valueOf(dayStr.trim()).intValue();
int currentHour = Integer.valueOf(hourStr.trim()).intValue();
int currentMinute = Integer.valueOf(minuteStr.trim()).intValue();

calendar.set(currentYear, currentMonth, currentDay, currentHour,
currentMinute);
return calendar;
}

/**
* 截取子串
*
* @param srcStr
* 源串
* @param pattern
* 匹配模式
* @param indexOrLast
* @param frontOrBack
* @return
*/
public static String spliteString(String srcStr, String pattern,
String indexOrLast, String frontOrBack) {
String result = "";
int loc = -1;
if (indexOrLast.equalsIgnoreCase("index")) {
loc = srcStr.indexOf(pattern); // 取得字符串第一次出现的位置
} else {
loc = srcStr.lastIndexOf(pattern); // 最后一个匹配串的位置
}
if (frontOrBack.equalsIgnoreCase("front")) {
if (loc != -1)
result = srcStr.substring(0, loc); // 截取子串
} else {
if (loc != -1)
result = srcStr.substring(loc + 1, srcStr.length()); // 截取子串
}
return result;
}

}

/DateTimePicker/src/com/wwj/datetimepicker/DateTimePickerActivity.java
package com.wwj.datetimepicker;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.EditText;

/**
* 时间拾取器界面
*
* @author wwj_748
*
*/
public class DateTimePickerActivity extends Activity {
/** Called when the activity is first created. */
private EditText startDateTime;
private EditText endDateTime;

private String initStartDateTime = "2013年9月3日 14:44"; // 初始化开始时间
private String initEndDateTime = "2014年8月23日 17:44"; // 初始化结束时间

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// 两个输入框
startDateTime = (EditText) findViewById(R.id.inputDate);
endDateTime = (EditText) findViewById(R.id.inputDate2);

startDateTime.setText(initStartDateTime);
endDateTime.setText(initEndDateTime);

startDateTime.setOnClickListener(new OnClickListener() {
public void onClick(View v) {

DateTimePickDialogUtil dateTimePicKDialog = new DateTimePickDialogUtil(
DateTimePickerActivity.this, initEndDateTime);
dateTimePicKDialog.dateTimePicKDialog(startDateTime);

}
});

endDateTime.setOnClickListener(new OnClickListener() {

public void onClick(View v) {
DateTimePickDialogUtil dateTimePicKDialog = new DateTimePickDialogUtil(
DateTimePickerActivity.this, initEndDateTime);
dateTimePicKDialog.dateTimePicKDialog(endDateTime);
}
});
}
}

自定义界面:
/DateTimePicker/res/layout/common_datetime.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<DatePicker
android:id="@+id/datepicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:calendarViewShown="false" />

<TimePicker
android:id="@+id/timepicker"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />

</LinearLayout>

⑼ android中怎么给 datepicker设置点击事件

其实是把datepicker放到dialog里面了,然后点击的是dialog的click方法,点击后再去获取datepick的值,就可以得到选择的日期了。如下代码:

/**
*点击日期
*
*@paramv
*/
publicvoidclickDateLL(Viewv){
AlertDialog.Builderbuilder=newAlertDialog.Builder(this);
Viewview=View.inflate(this,R.layout.date_dialog,null);
finalDatePickerdatePicker=(DatePicker)view.findViewById(R.id.datePicker);
builder.setView(view);

Calendarcalendar=Calendar.getInstance();
calendar.setTime(DateTimeUtil.getDateByString(getDate()));
hideDay(datePicker);
datePicker.init(calendar.get(Calendar.YEAR),calendar.get(Calendar.MONTH),calendar.get(Calendar.DAY_OF_MONTH),null);

builder.setPositiveButton("确定",newDialogInterface.OnClickListener(){

@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
Stringyear=datePicker.getYear()+"";
StringmonthTemp=(datePicker.getMonth()+1)+"";
Stringmonth=monthTemp.length()==2?monthTemp:"0"+monthTemp;

getYearTV().setText(year);
getMonthTV().setText(month);
mRefreshLayout.beginRefreshing();
dialog.cancel();
}
});

Dialogdialog=builder.create();
WindowManager.LayoutParamslp=dialog.getWindow().getAttributes();
lp.alpha=1f;
dialog.getWindow().setAttributes(lp);
dialog.show();
}

⑽ android怎么给datepickerdialog设定范围

自定义dialog实现的,在DatePicker的onDateChangedListentr事件中实现范围的控制

public class MainActivity extends Activity {
/** Called when the activity is first created. */

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final TextView text = (TextView) findViewById(R.id.text);
LayoutInflater l = LayoutInflater.from(this);
View v = l.inflate(R.layout.dialog, null);
final DatePicker datePicker = (DatePicker) v
.findViewById(R.id.datepicker);

datePicker.init(2000, 1, 3, new OnDateChangedListener() {

@Override
public void onDateChanged(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {

if (isDateAfter(view)) {
view.init(2000, 11, 30, this);
}
if (isDateBefore(view)) {
view.init(1949, 11, 30, this);
}
}

private boolean isDateAfter(DatePicker tempView) {
if (tempView.getYear() > 2000) {
return true;
} else
return false;
}

private boolean isDateBefore(DatePicker tempView) {
if (tempView.getYear() < 1921) {
return true;
} else
return false;
}
});
Dialog dialog = new AlertDialog.Builder(this)
.setTitle(
datePicker.getYear() + "年"
+ (datePicker.getMonth() + 1) + "月"
+ datePicker.getDayOfMonth() + "日")
.setView(v)
.setIcon(R.drawable.ic_dialog_time)
.setNeutralButton("设置", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {

text.setText(datePicker.getYear() + "年"
+ (datePicker.getMonth() + 1) + "月"
+ datePicker.getDayOfMonth() + "日");
}
})
.setNegativeButton("取消", new DialogInterface.OnClickListener() {

@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();

}
}).create();

dialog.show();

}
}

自定义的dialog.xml代码如下【3.0版本之前】

[html] view plain
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="<a href="http://schemas.android.com/apk/res/android" " target="_blank">http://schemas.android.com/apk/res/android" </a>
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<DatePicker
android:id="@+id/datepicker"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />

</LinearLayout>

【在3.0版本以后】

[java] view plain
public void onClick(View v) {
switch (answer.type) {
case 1:// 日期类型

DatePickerDialog dialog = new DatePickerDialog(ctx, this, 1980, 0,
1);
DatePicker datePicker = dialog.getDatePicker();
datePicker.setMinDate(DateUtils.getInstance().format("1970-01-01")
.getTime());
datePicker.setMaxDate(DateUtils.getInstance().format("2013-01-07")
.getTime());
dialog.show();
break;
}
}

@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
editText.setText(year + "年" + (monthOfYear + 1) + "月" + dayOfMonth
+ "日");
}

热点内容
苹果手机怎么上传视频到qq空间 发布:2025-08-22 07:10:03 浏览:636
淘宝androidsdk 发布:2025-08-22 06:52:04 浏览:938
编程挣钱吗 发布:2025-08-22 06:31:21 浏览:1001
敬请存储 发布:2025-08-22 06:25:42 浏览:610
linuxphp7配置 发布:2025-08-22 06:17:01 浏览:415
shellftp脚本 发布:2025-08-22 06:11:57 浏览:797
sql数据库打开 发布:2025-08-22 05:58:36 浏览:889
服务器IP怎么找回 发布:2025-08-22 05:41:28 浏览:607
手机百度怎样上传视频 发布:2025-08-22 05:28:08 浏览:833
乱码源码 发布:2025-08-22 05:26:41 浏览:205