我在我的一项活动中使用DatePickerDialog且其工作正常,但现在我必须在许多活动中实现它,因此我考虑将其放在帮助器类中,并将该功能扩展为所有活动,作为良好的代码实践。不能正确使用它。我在stackoverflow上看到了另一个链接,但是在那儿它们从一个类扩展到另一个类而不是活动。我想要的是我有一个辅助类,在该类中我多次使用了Iam在我的应用程序中,然后根据需要将它们扩展到任何活动。因此,我想将此datepicker函数放入HelperClass中,然后在app中的任何位置获取此函数。
这是我的datePicker函数,目前在活动中Iam使用它,并且工作正常
public void datePicker(int day,int month,int year) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
final Calendar myCalendar = Calendar.getInstance();
year = myCalendar.get(Calendar.YEAR);
month = myCalendar.get(Calendar.MONTH);
day = myCalendar.get(Calendar.DAY_OF_MONTH);
}
picker = new DatePickerDialog(RequestTraining.this, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
}
}, year, month, day);
picker.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
picker.show();
}
这是我做的界面
public interface DatePickerListener {
public void onDate(DatePicker view, int year, int monthOfYear, int dayOfMonth);
}
我认为,最好的方法就是这样
class Utils {
public void datePicker(Context mContext, EditText et) {
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) {
final Calendar myCalendar = Calendar.getInstance();
year = myCalendar.get(Calendar.YEAR);
month = myCalendar.get(Calendar.MONTH);
day = myCalendar.get(Calendar.DAY_OF_MONTH);
}
picker = new DatePickerDialog(mContext, new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
et.setText(dayOfMonth + "/" + (monthOfYear + 1) + "/" + year);
}
}, year, month, day);
picker.getDatePicker().setMinDate(System.currentTimeMillis() - 1000);
picker.show();
}
}
现在只需从任何类调用此方法
Utils.datePicker(this, editText);
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。