我正在尝试弄清楚如何为我正在构建的应用程序实现数据和时间选择器。我似乎找不到允许用户设置退出日期的内置方法。有没有一种优雅的方式来实现一个?我需要能够提取日、月、年、小时和分钟值以计算毫秒。关于实现此目标的可用建议有什么建议吗?
最佳答案
对于 PreferenceScreen
中的时间/日期选择器,您可以使用 onPreferenceClickListener
(首选项)调用对话框。在 PreferenceActivity
中使用 DatePickerDialog.OnDateSetListener
或 TimePickerDialog.OnTimeSetListener
来检索选定的日期/时间。
SettingsActivity.java
public class SettingsActivity extends PreferenceActivity implements DatePickerDialog.OnDateSetListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.preferences);
Preference btnDateFilter = (Preference) findPreference("btnDateFilter");
btnDateFilter.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override
public boolean onPreferenceClick(Preference preference) {
showDateDialog();
return false;
}
});
}
@Override
public void onDateSet(DatePicker datePicker, int i, int i2, int i3) {
Log.i("dasd","year "+i+" month "+i2+" day "+i3);
}
private void showDateDialog(){
// Use the current date as the default date in the picker
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);
new DatePickerDialog(this,this, year, month, day).show();
}
}
preference.xml
<Preference
android:key="btnDateFilter"
android:summary="Reschedule using current setting"
android:title="Reschedule" />
关于android - 在 Android 的首选项屏幕中使用 TimePicker 或 DatePicker,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18905600/