當前位置:首頁 » 安卓系統 » 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
+ "日");
}

熱點內容
編程掙錢嗎 發布:2025-08-22 06:31:21 瀏覽:1000
敬請存儲 發布:2025-08-22 06:25:42 瀏覽:609
linuxphp7配置 發布:2025-08-22 06:17:01 瀏覽:414
shellftp腳本 發布:2025-08-22 06:11:57 瀏覽:796
sql資料庫打開 發布:2025-08-22 05:58:36 瀏覽:888
伺服器IP怎麼找回 發布:2025-08-22 05:41:28 瀏覽:606
手機百度怎樣上傳視頻 發布:2025-08-22 05:28:08 瀏覽:832
亂碼源碼 發布:2025-08-22 05:26:41 瀏覽:204
c語言中基本的數據類型 發布:2025-08-22 05:24:25 瀏覽:809
Android資料庫開源 發布:2025-08-22 05:18:02 瀏覽:631