我的应用程序应该有一个Datepicker.要调用日期选择器片段,按下一个按钮,然后出现浮动日期选择器.我的问题是该按钮看起来与用于接受数据的其他UI组件不相似.有什么办法可以让按钮外观和功能像谷歌日历应用程序中的那样?日期选择器按钮动态显示所选日期,并希望也具有该功能.
精选参考:
我当前的按钮:
我想要实现的按钮类型:

android android-datepicker android-layout android-button android-calendar
我在其中用户选择即─两个日期的应用程序从日期和到日期.无论领域不应该接受任何日期小于当前date.I已经通过在本网站上的一些帖子不见了,并通过使用单日期选择器对话框的实现这个功能和单个ondatesetListener.
我的问题是,我无法验证迄今为止应始终大于或等于日期的条件.请帮助我.我无法捕获起始日期,因为活动日期超过活动结束日期谢谢提前.以下是代码:
public class Leave_form extends Activity
{
private static EditText tvDislpayResult;
private Button startPickDate;
private Button endPickDate;
private Calendar startDate;
private Calendar endDate;
//private EditText startDateDisplay;
//private EditText endDateDisplay;
static final int DATE_DIALOG_ID = 0;
private TextView startDateDisplay;
private TextView endDateDisplay;
private TextView activeDateDisplay;
private Calendar activeDate;
private Calendar currentDate;
private Calendar fromDate;
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_leave_form);
/* capture our View elements for …Run Code Online (Sandbox Code Playgroud) 我正试图用robolectric测试日期选择器的行为.
@Test
public void shouldSetStartedOnDate() {
activity.findViewById(R.id.cruise_form_pick_started_on_button).performClick();
DatePickerDialog dialog = (DatePickerDialog) ShadowDatePickerDialog.getLatestDialog();
assertThat(dialog.isShowing(), is(true));
dialog.updateDate(2013, 3, 13);
ShadowDialog shadowDialog = Robolectric.shadowOf(dialog);
shadowDialog.clickOnText("Done");
assertThat(dialog.isShowing(), is(false));
TextView startedOnText = (TextView) activity.findViewById(R.id.cruise_form_started_on);
assertThat(startedOnText.getText().toString(), equalTo("2013-03-13"));
}
Run Code Online (Sandbox Code Playgroud)
不幸的是dialog.updateDate(2013, 3, 13)引发了java.lang.NullPointerException
java.lang.NullPointerException
at android.app.DatePickerDialog.updateDate(DatePickerDialog.java:142)
at net.lucassus.yachtexpenses.activities.CruiseFormActivityTest.shouldSetStartedOnDate(CruiseFormActivityTest.java:99)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
...
Run Code Online (Sandbox Code Playgroud)
在调试器中,我注意到dialog.mDatePicker实例变量是null.问题是我做错了什么?不幸的是,我找不到如何用robolectric v2.0测试日期选择器对话框的好例子.
在方向更改时,将重新创建活动并重新创建日期时间对话框.我想保存用户已更改的日期时间对话框的状态.
在我关闭对话框之前,我想保留日期时间对话框的状态.
注意,我可以在onSaveInstanceState中关闭对话框,我可以在其中使用该包.但是,当活动进入暂停状态时也会调用它,在这种情况下,我不想忽略该对话框.因此,决定在onDestroy方法上解除它,但我没有bundle对象.这就是我面临这个问题的原因.有没有办法在onDestroy中访问捆绑包?或者对我的问题的任何其他建议将不胜感激.
@Override
protected void onDestroy() {
if(dateTimeDialog !=null && dateTimeDialog.isShowing())
{
//<HERE I WANT THE STATE TO BE SAVED IN THE BUNDLE>
dateTimeDialog.dismiss();
}
super.onDestroy();
}
Run Code Online (Sandbox Code Playgroud)
基本上,如果用户离开我们的应用程序,我们会锁定应用程序,并在解锁屏幕时恢复正在查看的对话框.如果我们在onSavedInstanceState上解除对话框,在解锁应用程序之后它会调用onRestart,start和resume方法,其中没有一个方法提供Bundle实例作为参数.
此外,我们有横向和纵向的单独布局,因此我们无法在清单文件中设置configChanges ="orientation".
android android-datepicker android-dialog android-activity android-dialogfragment
我需要开发一个检查数据库的应用程序,并突出显示该数据库上有任何记录的日期(类似这样).我已经做了一些关于它的研究,但我找到的方法是手动着色白天的背景.
我想在自定义对话框中使用日期选择器.在按钮上单击日历将打开以选择用户的日期.我在我的customDilaog类中有Button,在该按钮上单击我想打开日历视图.如果单击此按钮,我的应用程序崩溃.我已经完成了这件事.
CustomDialog.java
public class CustomDialog extends Dialog implements android.view.View.OnClickListener {
private Button date;
DateFormat format = DateFormat.getDateInstance();
Calendar calender = Calendar.getInstance();
public CustomDialog(Context context) {
super(context);
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
date=(Button)findViewById(R.id.dateText2);
}
public void onClick(View v) {
if (v.getId()==R.id.datePick) {
openDatePicker(v);
//another if-else statements
}
public void updateDate(){
date.setText(format.format(calender.getTime()));
}
public void setDate(){
new DatePickerDialog(getContext(),dp,calender.get(Calendar.YEAR) ,calender.get(Calendar.MONTH),calender.get(Calendar.DAY_OF_MONTH)).show();
}
DatePickerDialog.OnDateSetListener dp = new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
calender.set(Calendar.YEAR,year);
calender.set(Calendar.MONTH, monthOfYear); …Run Code Online (Sandbox Code Playgroud) 我正在开发需要输入信用卡到期日的应用程序,但是andorid 5.0+日期时间选择器只有选择日期和日期的选项.是否有任何图书馆,因为我找不到.我也没有找到关于此的材料设计指南.
谢谢
我正在创建一个像这样的datepickerdialog:
Calendar newCalendar = Calendar.getInstance();
myDatePicker = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
// do something
}
}
, newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
myDatePicker.show();
Run Code Online (Sandbox Code Playgroud)
不幸的是,我回来的东西看起来像这样:
我真正希望获得的是这样的东西:
我在谈论标题.我想要那一天,并在那个月,一个月,一年之后..这似乎是相当标准和默认的,因为我看到大量的示例屏幕截图看起来像漂浮在周围,但显然我正在做的事情错了,因为它看起来不像我.
编辑:一个潜在的解决方法是使用第三方库:
https://github.com/wdullaer/MaterialDateTimePicker
但这并不理想.我仍然希望找到一个不需要第三方库的解决方案.
如何在Xamarin.Android中的编辑文本点击或焦点事件中显示日期选择器弹出窗口?
创建我正在显示DatePicker的应用程序.现在我要设置DatePicker的MinDate是前两年,最大日期是未来两年.选择应该基于当前日期.假设当前日期是23/11/2016所以datepicker应该显示日期到2014年11月23日在DatePicker所有日期应该在2014年11月23日之前被禁用.当我们点击Datepicker光标应该是当前日期.Created DtaePicker
private void showDateDailog() {
final DatePickerDialog datePickerDialog = new DatePickerDialog(mContext, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker datePicker, int selectedYear, int selectedMonth, int selectedDate) {
year = selectedYear;
month = selectedMonth;
day = selectedDate;
((TextView) findViewById(R.id.textViewTORStartDate)).setText(new StringBuilder().append(day).append("/")
.append(month + 1).append("/").append(year));
}
}, year, month, day);
datePickerDialog.getDatePicker().setMinDate(System.currentTimeMillis());
datePickerDialog.show();
}
Run Code Online (Sandbox Code Playgroud)