【发布时间】:2014-07-08 03:55:22
【问题描述】:
我正在尝试解决一个奇怪的问题。我是 Android 编程的新手(以及这个网站作为海报),所以请耐心等待。我有一个从我的 Main Activity 调用的 datePickerDialog,并且该类中的 TextView 正确更新了年、月和日期,但是由于某种原因,当我使用 getter 在我的主 Activity 中获取年、月和日期时,它只是返回 0。我使用 getter 是否做错了什么?
// Activity Method
public void showDatePickerDialog(View v) {
DialogFragment newFragment = new DatePickerFragment();
newFragment.show(getFragmentManager(), "datePicker");
firstDatem = ((DatePickerFragment) newFragment).getMonth();
firstDated = ((DatePickerFragment) newFragment).getDay();
firstDatey = ((DatePickerFragment) newFragment).getYear();
}
// DatePickerDialog
private int year;
private int month;
private int day;
public void onDateSet(DatePicker view, int year, int month, int day) {
// do some stuff for example write on log and update TextField on activity
String monthstring;
switch ( month ) {
case 0: monthstring = "January";
break;
case 1: monthstring = "February";
break;
case 2: monthstring = "March";
break;
case 3: monthstring = "April";
break;
case 4: monthstring = "May";
break;
case 5: monthstring = "June";
break;
case 6: monthstring = "July";
break;
case 7: monthstring = "August";
break;
case 8: monthstring = "September";
break;
case 9: monthstring = "October";
break;
case 10: monthstring = "November";
break;
case 11: monthstring = "December";
break;
default:
monthstring = "";
break;
}
((TextView) getActivity().findViewById(R.id.date_text)).setText( "First date set to " + monthstring + " " + day + ", "+ year);
}
public int getYear()
{
return year;
}
public int getMonth()
{
return month;
}
public int getDay()
{
return day;
}
}
【问题讨论】:
-
stackoverflow.com/questions/18211684/…。您可以使用接口作为活动的回调
标签: java android android-activity android-fragments android-datepicker