我有一个带有textView的对话框窗口,它显示了DatePicker选择的日期。我在这个对话框上还有一个按钮,它打开一个datePicker(片段),让我选择一个日期。但是,当我按ok时,在对话框窗口中不会设置日期textView。但如果我调试它,肯定会有传递日期的信息,问题是它不会在对话框中设置。
onDateSet的代码如下:
@Override
public void onDateSet(DatePicker view, int year, int month, int dayOfMonth) {
LayoutInflater inflater = this.getLayoutInflater();
View view2 = inflater.inflate(R.layout.item_edit, null);
TextView txtDate = (TextView) view2.findViewById(R.id.txtDate);
txtDate.setText(year + "/" + month + "/" + dayOfMonth);
}
此代码来自activity主页。
当我调试它时,年、月和月的日期都有正确的值。但是txtdate.settext不起任何作用。
@Redzerg我们来这个聚会真的很晚了,首先我们不使用片段来存储我的DatePicker,我们把它放在它自己的XML文件中,根布局是一个垂直的LinearLayout这样它就不会把我们从这个代码中挑选的activity屏幕弄得乱七八糟,我们将把选定的日期发送到另一个activity,我这里的目标是用一个按钮挑选两个日期,然后把日期发送到数据库上的SQL搜索之间,我们使用一个styles来管理样式
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@color/color_lightGray">
<!--the background sets the color of the calender -->
<DatePicker
android:id="@+id/datePicker"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:calendarViewShown="true"
android:headerBackground="@color/color_Purple"
android:theme="@style/DatePickerTheme" />
</LinearLayout>
<style name="DatePickerTheme" parent="Theme.AppCompat.Light.Dialog">
<item name="colorControlActivated">@color/colorAccent</item>
<item name="android:selectableItemBackgroundBorderless">@color/color_Purple</item>
<item name="android:textColorPrimary">@color/color_Black</item>
</style>
public void onMake(View view){
// custom dialog
final Dialog dialog = new Dialog(PageOneActivity.this);
dialog.setContentView(R.layout.datepickerview);
// the layout datepickerview is a XML file
dialog.setTitle("");
DatePicker picker = dialog.findViewById(R.id.datePicker);
// the id datePicker is a Date Picker widget in its own XML file
// as referenced above you need this to manage custom styling
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
//picker.updateDate(2017, 10, 13);//year month day
picker.updateDate(mYear, mMonth, mDay);// Keeps Calendar initial view what ever today is!
//Date today = Calendar.getInstance().getTime();
//SimpleDateFormat formatter = new SimpleDateFormat("MM"+"-"+"dd"+"-"+"yyyy");
//String folderName = formatter.format(today);
System.out.println("Month " + mMonth+1);
picker.init(c.get(Calendar.YEAR), c.get(Calendar.MONTH), c.get(Calendar.DAY_OF_MONTH), new DatePicker.OnDateChangedListener() {
//picker.init(Integer.valueOf(mMonth),Integer.valueOf(mDay),Integer.valueOf(mYear), new DatePicker.OnDateChangedListener() {
@Override
public void onDateChanged(DatePicker picker, int year, int monthOfYear, int dayOfMonth) {
if (txtDateOne.getText().toString().isEmpty()) {
System.out.println("I am Not Empty");
txtDateOne.setText((monthOfYear+1) + "-" + dayOfMonth + "-" + year);
etFirstDate.setText(String.valueOf(monthOfYear+1 ) + String.valueOf(dayOfMonth) + String.valueOf(year));
v1 = Long.valueOf(etFirstDate.getText().toString());
etFirstDate.setText(String.valueOf(v1));
//got1 = mDay;
dialog.dismiss();
} else {
txtDateTwo.setText((monthOfYear+1 ) + "-" + dayOfMonth + "-" + year);
etSecondDate.setText(String.valueOf(monthOfYear+1) + String.valueOf(dayOfMonth) + String.valueOf(year));
v2 = Long.valueOf(etSecondDate.getText().toString());
//v2 = Long.valueOf(txtDateTwo.getText().toString());
etSecondDate.setText(String.valueOf(v2));
dialog.dismiss();
if (etSecondDate.getText().toString().length() > 0) {
if (v2 >= v1) {
btnDatePicker.setTextColor(getColor(R.color.color_Purple));
btnDatePicker.setEnabled(false);
sbstring = "First Date < or = Second Date";
Toast.makeText( PageOneActivity.this, "First Date < or = Second Date", Toast.LENGTH_LONG ).show();
//showSB();
int r = (int) (v2-v1);
//txtDateTwo.setText(String.valueOf(r));
} else {
btnDatePicker.setTextColor(getColor(R.color.color_deepBlue));
btnDatePicker.setEnabled(false);
sbstring = "First Date > or = Second Date";
Toast.makeText( PageOneActivity.this, "First Date > or = Second Date", Toast.LENGTH_LONG ).show();
//showSB();
//int r = (int) (v1-v2);
}
}
}
//mDay=dayOfMonth;
//mMonth=(month);
//mYear=year;
}
});
dialog.show();
}
public void onSend(View view){
if(etFirstDate.getText().toString().isEmpty() || etSecondDate.getText().toString().isEmpty()){
Toast.makeText( PageOneActivity.this, "You Need Both Dates\n PICK A DATE", Toast.LENGTH_LONG ).show();
return;
}else {
Intent send = new Intent(PageOneActivity.this,PageTwoActivity.class);
send.putExtra("FROM_DATE",v1);
send.putExtra("TO_DATE",v2);
startActivity(send);
}
}
问题内容: 我有一个在jQuery对话框对象中使用的datepicker。对话框内容的来源使用加载。在对话框中,我创建了一个脚本,该脚本为文本输入创建了一个日期选择器。 当我第一次打开对话框时- 一切都很好,但是如果我关闭它并再次重新打开,则会自动触发日期选择器(并且没有这样的选项)有什么方法可以防止这种情况或我在做什么错? 问题答案: 我遇到了这个确切的问题,仅对tvanfosson的技术进行了
问题内容: 我需要一种解决方案,以在单击时以HTML显示打开文件对话框。单击时,必须打开打开文件对话框。 我不想将输入文件框显示为HTML页面的一部分。它必须显示在单独的对话框中,该对话框不是网页的一部分。 问题答案: 这是一个不错的 它本身就是一个控件。但是div放在上面,并应用CSS样式来获得那种感觉。文件控件的不透明度设置为0,以便在单击div时似乎打开了对话框窗口。
我试图将openFiles()方法的内脏移到actionPerformed()方法中的相应位置,但仍然没有起作用。但是,在另一个人用于不同目的的代码中,showOpenDialog()方法在从actionPerformed方法内部调用的方法中工作。代码如下: 谢谢你的帮助。
我正在使用上传文件。如果用户启动打开文件对话框(使用Uploadify选择文件按钮),则会出现一个窗口,用户可以在其中导航到他的路径并选择应上传的文件。现在,Internet Explorer 不存储路径。如果用户再次单击选择文件按钮,他必须再次导航到所需的文件夹。 我知道用户可以一次上传多个文件,但我被问及是否可以存储路径以供下次使用(例如Firefox的行为)。当然,他可以使用另一个浏览器,但
我使用MFC和对话框创建了两个独立的可执行文件项目。 我是visual studio的新手,所以请给出一些建议。谢谢
我有一个带有的自定义对话框。在我的上,我有一个按钮,当我按下它时,对话框就会显示出来,我可以从中选择日期。我希望选定的日期显示在我的中的上。我的代码如下: 这是我的主上包含的对话框的代码: 我从中获取日、月和年,并使用 在我的片段中,我使用下面的代码调用我的对话框: 当我运行我的应用程序时,我在以下行中得到一个nullPointerException: 我做错了什么?提前致谢