我使用datepickerdialog简单的Activity..并且当DialogBox关闭时,下面的方法将被调用2次.
private void FetchData(String day, String month, int year)
Run Code Online (Sandbox Code Playgroud)
我不知道为什么这个方法在DatepickerDialog只显示1次时会调用2次?
public class MainActivity extends Activity {
ListView listview;
Cursor smscursor;
SMS_SQL sql;
ListAdapter adapter;
final ArrayList<List> list = new ArrayList<List>();
private int year;
private int month;
String monthstr;
private int day;
String dayday, monthmonth;
ArrayList<String> smslist = new ArrayList<String>();
String PhoneNo = "1234567890";
static final int DATE_DIALOG_ID = 999;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) { …Run Code Online (Sandbox Code Playgroud) 我非常惊讶,即使在搜索1小时后我也无法在网上找到它!
我有一个日期选择器对话框,从原始的Pickers示例略微修改(感谢Raghunandan 为此).
但我不想将默认日期设置为当前日期,而是应该从EditText中选择日期并将该日期设置为datepickerdialog.有人可以帮我解决这个问题吗?我目前的代码如下.
编辑我需要知道如何从DatePickerFragment类中访问EditText datepurchased的值.
主类:
public class EditEntry extends Activity implements DatePickerFragment.TheListener{
EditText edit_datepurchased;
public void showdate(View v) {
edit_datepurchased = (EditText) findViewById(v.getId());
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getFragmentManager(), "datePicker");
}
public void returnDate(String date) {
edit_datepurchased.setText(date);
}
}
Run Code Online (Sandbox Code Playgroud)
DatePickerFragment CLASS:
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
TheListener listener;
public interface TheListener{
public void returnDate(String date);
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
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);
listener = (TheListener) …Run Code Online (Sandbox Code Playgroud) 我使用 DatePickerDialog 允许用户选择一天。
Calendar calendar = Calendar.getInstance();
calendar.setFirstDayOfWeek(Calendar.TUESDAY);
new DatePickerDialog(this, dateListener, calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH)).show();
Run Code Online (Sandbox Code Playgroud)
我使用setFirstDayOfWeek方法将一周的开始日期设置为星期二,但对话框选择器始终在左侧显示星期一。
如何为 DatePickerDialog 设置一周的开始日期?
这个问题描述了如何使用DatePicker小部件来完成它,但我没有这样的东西.
我有这些:
@Override
protected Dialog onCreateDialog(int id)
{
switch (id)
{
case DATE_DIALOG_ID:
return new DatePickerDialog(this, mDateSetListener, mYear1, mMonth1, mDay1);
case DATE_DIALOG_ID_2:
return new DatePickerDialog(this, mDateSetListener2, mYear2, mMonth2, mDay2);
case DATE_DIALOG_ID_3:
return new DatePickerDialog(this, mDateSetListener3, mYear3, mMonth3, mDay3);
}
return null;
}
protected void onPrepareDialog(int id, Dialog dialog)
{
switch (id)
{
case DATE_DIALOG_ID:
((DatePickerDialog) dialog).updateDate(mYear1, mMonth1, mDay1);
break;
case DATE_DIALOG_ID_2:
((DatePickerDialog) dialog).updateDate(mYear2, mMonth2, mDay2);
break;
case DATE_DIALOG_ID_3:
((DatePickerDialog) dialog).updateDate(mYear3, mMonth3, mDay3);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
然后3 DatePickerDialog.OnDateSetListener() š
这些DatePickerDialogs上没有setMax()或setMin(). …
我有两个ImageButtons.一个负责设置开始日期,另一个负责设置结束日期.按下每个按钮时,它们会显示一个DatePickerDialog.onCreateDialog方法在另一个类中.这是班级:
DatePickerFragment.Java
package com.ThatOneNoob.smarthaul;
import java.util.Calendar;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.os.Bundle;
import android.widget.DatePicker;
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener {
@Override
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);
}
@Override
public void …Run Code Online (Sandbox Code Playgroud) 当我按下按钮显示DatePickerDialog时,对话框显示一个月更大.例如,如果我使用这样的当前日期(使用joda库的DateTime)启动:
DateTimeZone zone = DateTimeZone.forID("Europe/Athens");
DateTime dt = new DateTime(zone);
int year = dt.getYear();
int month = dt.getMonthOfYear();
int day = dt.getDayOfMonth();
Run Code Online (Sandbox Code Playgroud)
这是2014年7月7日,日期对话框显示更大的一个月07/09/2014.我不明白为什么会这样.
表示datePickerFragment的片段是:
@SuppressLint("ValidFragment")
public class DatePickerFragment extends DialogFragment implements DatePickerDialog.OnDateSetListener{
@SuppressLint("ValidFragment")
TextView txtDate;
GlobalData appState;
public DatePickerFragment(TextView txtDate) {
super();
this.txtDate = txtDate;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the current date as the default date in the picker
DateTimeZone zone = DateTimeZone.forID("Europe/Athens");
DateTime dt = new DateTime(zone);
int year = dt.getYear();
int month = …Run Code Online (Sandbox Code Playgroud) 我想在用户点击时获取日期选择器对话框的当前日期,但它不起作用.我的默认日期未更改为当前日期.我的代码中我做错了什么?
Calendar mcurrentDate = Calendar.getInstance();
int day = mcurrentDate.get(Calendar.DAY_OF_MONTH);
int month = mcurrentDate.get(Calendar.MONTH);
int year = mcurrentDate.get(Calendar.YEAR);
DatePickerDialog dpd;
dpd = new DatePickerDialog(getActivity(), 0,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int month, int day) {
// TODO Auto-generated method stub
dateTxtVu.setText("Date: " + day + "-" + month
+ "-" + year);
dateStr = day + "-" + month + "-" + year;
}
}, day, month, year);
dpd.show();
Run Code Online (Sandbox Code Playgroud) 我有一个带有一些自定义组件的模块。其中一个里面有一个 DatePickerDialog。我需要为这些使用自定义强调色。如何从主应用程序样式中检索颜色?有没有办法使用相同的样式避免循环引用?否则,有一种方法可以以编程方式设置 DatePickerDialog 的强调色吗?
在我的应用程序中,我必须显示 4-5 个日期选择器并设置日期如何使用 datepicker Dialog fragment 执行此操作?
目前我必须为所有日期选择器对话框制作单独的日期选择器...
public static class RegistrationDatePicker extends DialogFragment
implements DatePickerDialog.OnDateSetListener {
@Override
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);
DatePickerDialog dialog = new DatePickerDialog(getActivity(), this, year, month, day);
dialog.getDatePicker().setMaxDate(new Date().getTime());
return dialog;
}
public void onDateSet(DatePicker view, int year, int month, int day) {
mTextView.setText(String.valueOf(month + "/" …Run Code Online (Sandbox Code Playgroud) android android-datepicker android-dialogfragment datepickerdialog