【发布时间】:2014-08-14 16:32:41
【问题描述】:
当用户单击显示“设置您的生日”的按钮时,我正在尝试显示 DatePicker 对话框,然后我需要按钮在按钮中显示用户的选择。我已经使用 TextView 尝试了本网站上列出的一些解决方案,但都无济于事。 DatePicker 显示得很好,但我无法让数据显示在 Button 上。我试过这些解决方案:DatePicker not updating Textview in AndroidDisplay datepickers value in a textviewAndroid: DatePicker and DatePicker DialogHow to transfer the formatted date string from my DatePickerFragment?
这是我的代码:
首先是 DatePickerFragment:
公共类 DatePickerFragment 扩展 DialogFragment 实现 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);
return new DatePickerDialog(getActivity(), this, year, month, day);
}
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
Calendar c = Calendar.getInstance();
c.set(year, monthOfYear, dayOfMonth);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String formattedDate = sdf.format(c.getTime());
if (listener != null) {
listener.returnDate(formattedDate);
}
}
}
现在,调用它的 Fragment:
公共类 SignUpFragment 扩展 Fragment 实现 MyBirthday.TheListener {
private Button btnBirthday;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_signup, container, false);
return view;
}
@Override
public void onResume() {
super.onResume();
btnBirthday = (Button) getActivity().findViewById(R.id.signup_birthday_button);
btnBirthday.setText("Set your birthday");
btnBirthday.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DialogFragment picker = new DatePickerFragment();
picker.show(getFragmentManager(), "datePicker");
}
});
}
@Override
public void returnDate(String date) {
btnBirthday.setText(date);
}
}
我们将不胜感激任何和所有的帮助。如果这是一个重复的问题,我很抱歉,但我找不到让我的程序按照我想要的方式运行的方法。我在这里找不到解决方案。
提前致谢。
【问题讨论】:
标签: android button android-fragments datepicker