<TextView
android:id="@+id/tv_arrival"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:text="@string/arrivaldate"/>
<Button
android:id="@+id/btn_arrival"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:text="Set"/>
我想显示datepicker弹出窗口。我找到了一些例子,但我没有正确理解。我有一个按钮,我希望当我点击按钮时,datepicker对话框应该弹出,并且在设置日期后,日期应该显示在。请提供我的样本代码或良好的链接。
btn_arrival.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
final Dialog setDate = new Dialog(MainActivity.this);
setDate.requestWindowFeature(Window.FEATURE_NO_TITLE);
setDate.setContentView(R.layout.dialog_setdate);
setDate.show();
DatePicker date = (DatePicker) setDate.findViewById(R.id.datePicker);
date.setMinDate(System.currentTimeMillis() - 1000);
Calendar calender = Calendar.getInstance();
DatePicker.OnDateChangedListener onDateChangedListener = new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker view, int years, int monthOfYear, int dayOfMonth) {
day = dayOfMonth;
year = years;
month = monthOfYear;
setDate.dismiss();
txt_arrival.setText("Arrival Date on: " + day + "." + (month + 1) + "." + year);
tv_departure.setText("Departure Date on: " + (day + 1) + "." + (month + 1) + "." + year + "");
}
};
day = calender.get(Calendar.DAY_OF_MONTH);
month = calender.get(Calendar.MONTH);
year = calender.get(Calendar.YEAR);
date.init(year, month, day, onDateChangedListener);
}
});
这是针对DatePicker的AlertDialog片段的工作,该片段在设置时将日期放入TextView。
日期选择器的xml
您可以省略CardView根布局,并使用诸如LinearLayout、RelativeLayout等任何内容。。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="8dp"
card_view:cardElevation="24dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text=""
android:id="@+id/date_time_title"/>
<DatePicker
android:id="@+id/date_picker"
android:layout_width="match_parent"
android:layout_height="0dp"
android:calendarViewShown="true"
android:spinnersShown="false"
android:layout_weight="1"/>
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/date_time_not_set"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel"
android:layout_gravity="start"/>
<Button
android:id="@+id/date_time_set"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Set"
android:layout_gravity="end"/>
</FrameLayout>
</LinearLayout>
活动/片段的java文件
[...] //other code
btn_arrival.setOnClickListener( this );
// Activity/Fragment implements onClick()
@Override
public void onClick( final View v )
{
switch ( v.getId( ) )
{
case R.id.btn_arrival: createDatePicker( tv_arrival); break;
}
}
private void createDatePicker( final TextView tv_arrival )
{
final View dialogView = View.inflate( getActivity( ), R.layout.date_picker, null );
final AlertDialog alertDialog = new AlertDialog.Builder( getActivity( ) ).create( );
TextView tv = ( TextView ) dialogView.findViewById( R.id.date_time_title );
tv.setText( ); // set title here
dialogView.findViewById( R.id.date_time_set ).setOnClickListener( new View.OnClickListener( )
{
@Override
public void onClick( View view )
{
setDatePicker( dialogView, tv_arrival );
alertDialog.dismiss( );
}
} );
dialogView.findViewById( R.id.date_time_not_set ).setOnClickListener( new View.OnClickListener( )
{
@Override
public void onClick( View v )
{
alertDialog.dismiss( );
}
} );
alertDialog.setView( dialogView );
alertDialog.show( );
}
private void setDatePicker ( View dialogView, TextView tv_arrival )
{
DatePicker datePicker = ( DatePicker ) dialogView.findViewById( R.id.date_picker );
Calendar calendar;
SimpleDateFormat sdf = new SimpleDateFormat( "dd-MM-yyyy", Locale.ENGLISH );
calendar = new GregorianCalendar( datePicker.getYear( ), datePicker.getMonth( ), datePicker.getDayOfMonth( ) );
tv_arrival.setText( sdf.format( calendar.getTime( ) ) );
}
Calendar dateSelected = Calendar.getInstance();
private DatePickerDialog datePickerDialog;
dateEditText.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setDateTimeField() ;
}
});
private void setDateTimeField() {
Calendar newCalendar = dateSelected;
datePickerDialog = new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
dateSelected.set(year, monthOfYear, dayOfMonth, 0, 0);
dateEditText.setText(dateFormatter.format(dateSelected.getTime()));
}
}, newCalendar.get(Calendar.YEAR), newCalendar.get(Calendar.MONTH), newCalendar.get(Calendar.DAY_OF_MONTH));
dateEditText.setText(dateFormatter.format(dateSelected.getTime()));
}
或者您可以点击此链接
Datepicker:单击edittext时如何弹出Datepicker
询问代码的问题必须证明对所解决问题的理解程度最低。包括尝试的解决方案、为什么不起作用以及预期的结果。另请参见:堆栈溢出问题检查表 我想显示数据选择器弹出窗口。我找到了一些示例,但我没有正确获取它。我有一个按钮,我希望当我单击按钮时,数据选择器对话框应该弹出,设置日期后,日期应该存储在变量中。请提供示例代码或好的链接。
我想显示datepicker弹出窗口。我找到了一些例子,但我没有得到正确的理解。我有一个edittext,我希望当我单击edittext时,datepicker对话框应该弹出,在设置日期后,日期应该以DD/MM/YYYY格式显示在edittext中。请提供给我样本代码或良好的链接。
我正在我的演示应用程序中使用这个datepicker https://www.npmjs.com/package/react-datepicker但是我的datepicker是在我点击输入字段时打开的。当用户点击右侧的按钮和图标而不是点击输入时,我们可以打开日期选择器吗?
下面是一个柱塞http://plnkr.co/edit/2fs6vccixrrc7geuwyr2?p=preview 有没有人可以帮忙告诉你为什么日历按钮不工作?但是,单击calendar文本框就可以显示calendarpopup。 多谢你, 渡轮
在我的APCS课程中,我们正在学习如何编写GUI。我们已经学习了如何制作按钮和将背景色改为绿色、红色、蓝色等。然而,我的老师在这周剩下的时间里不会在这里,我只是好奇如何通过单击按钮使文本出现在框架内,并在再次单击按钮时使文本消失。如果有帮助,下面是代码。我想改变背景颜色为绿色以及显示“绿色”在屏幕上。非常感谢你的帮助! }
我在Python Selenium中出错了。我正在尝试下载所有歌曲与硒,但有一些错误。下面是代码: 下面是错误: 你知道为什么会出错吗?