Kullanıcının bir tarih ayarlaması için bir DatePicker
widget'ını kullanıyorum ve bir onaylama düğmesine tıklandığında tarih değerini almak istiyorum, bunu nasıl yapabilirim?Android'de DatePicker widget'ından tarih nasıl edinilir?
cevap
bu deneyin:
DatePicker datePicker = (DatePicker) findViewById(R.id.datePicker1);
int day = datePicker.getDayOfMonth();
int month = datePicker.getMonth() + 1;
int year = datePicker.getYear();
DatePicker sınıfının ay, yıl, ayın gününü alma yöntemleri vardır. Ya da bir OnDateChangedListener kullanabilirsiniz.
size uygulamalar içine DatePicker widget'ı eklemek istediğiniz anlamına gelir. etkinlik sınıfa
Küresel değişken ifadesi: onCreate içine bu kodu aşağı
private Button mPickDate;
private int mYear;
private int mMonth;
private int mDay;
static final int DATE_DIALOG_ID = 0;
yazma() işlevi:
//date picker presentation
mPickDate = (Button) findViewById(R.id.pickDate);//button for showing date picker dialog
mPickDate.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) { showDialog(DATE_DIALOG_ID); }
});
// get the current date
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
// display the current date
updateDisplay();
onCreate dışında olanlar fonksiyonunu not() fonksiyonu:
//return date picker dialog
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
return new DatePickerDialog(this, mDateSetListener, mYear, mMonth, mDay);
}
return null;
}
//update month day year
private void updateDisplay() {
mBodyText.setText(//this is the edit text where you want to show the selected date
new StringBuilder()
// Month is 0 based so add 1
.append(mYear).append("-")
.append(mMonth + 1).append("-")
.append(mDay).append(""));
//.append(mMonth + 1).append("-")
//.append(mDay).append("-")
//.append(mYear).append(" "));
}
// the call back received when the user "sets" the date in the dialog
private DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
updateDisplay();
}
};
En iyi yanıt olarak işaretlenmelidir – Amir
MinDate & MaxDate'i ayarlamayı başardım programlı böyle:
final Calendar c = Calendar.getInstance();
int maxYear = c.get(Calendar.YEAR) - 20; // this year (2011) - 20 = 1991
int maxMonth = c.get(Calendar.MONTH);
int maxDay = c.get(Calendar.DAY_OF_MONTH);
int minYear = 1960;
int minMonth = 0; // january
int minDay = 25;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.create_account);
BirthDateDP = (DatePicker) findViewById(R.id.create_account_BirthDate_DatePicker);
BirthDateDP.init(maxYear - 10, maxMonth, maxDay, new OnDateChangedListener()
{
@Override
public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth)
{
if (year < minYear)
view.updateDate(minYear, minMonth, minDay);
if (monthOfYear < minMonth && year == minYear)
view.updateDate(minYear, minMonth, minDay);
if (dayOfMonth < minDay && year == minYear && monthOfYear == minMonth)
view.updateDate(minYear, minMonth, minDay);
if (year > maxYear)
view.updateDate(maxYear, maxMonth, maxDay);
if (monthOfYear > maxMonth && year == maxYear)
view.updateDate(maxYear, maxMonth, maxDay);
if (dayOfMonth > maxDay && year == maxYear && monthOfYear == maxMonth)
view.updateDate(maxYear, maxMonth, maxDay);
}}); // BirthDateDP.init()
} // activity
benim için gayet iyi çalışıyor, :)
Bunun tersini yapmak istiyorum, minimum tarih güncel tarih ve maksimum tarih geçerli tarihden daha büyük bir tarih olacak demektir.Bunu nasıl yaparım.Bir yardım çok takdir edilecektir.Ama denemek ama biraz sorun.Ayrıca bu http://stackoverflow.com/questions/8675984/date-picker-with-max-and-minimum-date-in-ondatechanged-in-android-1-5 – mH16
U da
GregorianCalendar calendarBeg=new GregorianCalendar(datePicker.getYear(),
datePicker.getMonth(),datePicker.getDayOfMonth());
Date begin=calendarBeg.getTime();
ayrıca bu kodu kullanabilirsiniz te Calendar.GregorianCalendar java sınıfını kullanabilirsiniz zevk ...
datePicker = (DatePicker) findViewById(R.id.schedule_datePicker);
int day = datePicker.getDayOfMonth();
int month = datePicker.getMonth() + 1;
int year = datePicker.getYear();
SimpleDateFormat dateFormatter = new SimpleDateFormat("MM-dd-yyyy");
Date d = new Date(year, month, day);
String strDate = dateFormatter.format(d);
- 1. jQuery Datepicker: tarih değeri
- 2. Bootstrap datepicker içinde tarih aralığı nasıl etkinleştirilir
- 3. Tarih aralığı için jquery-datepicker nasıl kullanılır?
- 4. androidde openssl nasıl kurulur
- 5. jquery datepicker - tarih farkını hesapla
- 6. jQuery DatePicker: Seçili Tarih Al
- 7. tarih ve yıl ile sürekli 7 tarih nasıl edinilir
- 8. Android'de yerel tarih ve saat nasıl edinilir?
- 9. Yerel tarih/saat biçimi nasıl edinilir?
- 10. Datepicker için varsayılan tarih formatı ayarlanıyor mu?
- 11. bootstrap-datepicker el ile girilen tarih sayisi
- 12. Datepicker bir önceki ayda tarih seçilebilir
- 13. Angularjs bootstrap datepicker: Birden çok tarih seçin
- 14. Bootstrap-DatePicker için Özel Tarih Biçimi
- 15. Codebehind'de bir tarih/tarih nasıl ayarlanır?
- 16. Materialise Datepicker Materialize datepicker için
- 17. jQuery datepicker
- 18. DatePicker, Yıl
- 19. Tepki yerli androidde Coach işareti nasıl uygulanır?
- 20. androidde shift-jis kodunu çözme
- 21. Bootstrap DatePicker - Onchange
- 22. TypeError: $ ("# datepicker") datepicker bir işlev değil
- 23. Tarih Raporunun Haftalık veya 7 günlüğüne Crystal Report'ta nasıl edinilir
- 24. , jQuery datepicker
- 25. androidde greyview için özel adaptör
- 26. jQuery UI datepicker translation
- 27. jQuery UI için manuel tarih girişi doğrulaması Datepicker maxDate seçeneği
- 28. jQuery Datepicker - Tüm tarih tutucular için altField'ı otomatik olarak tanımla
- 29. Seçilen tarihe sahip Datepicker?
- 30. tarih seçici
Bu, UI'deki tarih seçici değerlerini güncellerken benim için çalışmıyor gibi görünüyor. Bana – gnB
Right ile başlayan değeri veriyor. Lütfen OnDateSetListener öğesini datePicker öğesine ayarlamaya çalışın. –
Bu benim için çalıştı. Bu değerleri şu şekilde ayarladım: String = string.valueof (datePicker.getDayOfMonth(); Şimdiye kadar mükemmel çalışıyor, çünkü bir sql veri tabanına eklemek için benim durumumdaki dizeleri dizelere çevirir. – natur3