gpt4 book ai didi

android - 同一 Activity android中的两个日期选择器

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:05:50 27 4
gpt4 key购买 nike

我有一项 Activity 需要接受两个日期,开始日期和结束日期。我有两个按钮,单击它们会显示日期选择器。输入日期后,我需要使用 SharedPreferences 存储此日期。我正在使用本教程:

http://developer.android.com/guide/topics/ui/controls/pickers.html

我看到有关两个日期选择器的问题,但没有一个使用 DialogFragment。他们使用的是已弃用的函数,我真的不想使用它们,因为我听说使用 DialogFragment 更好。

现在我该如何处理两个日期选择器?我如何知道在 onDateSet 函数中单击了哪个按钮(startButton 或 endButton)?有什么方法可以将 View ID 存储在我在单击按钮时创建的 DialogFragment 中,以便我可以在 onDateSet 中访问它?

任何帮助都会很棒,谢谢。

最佳答案

可以这样做:

View.OnClickListener showDatePicker = new View.OnClickListener() {
@Override
public void onClick(View v) {
final View vv = v;

DatePickerDialog datePickerDialog = new DatePickerDialog(getActivity(), new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
if (vv.getId() == R.id.StartDate //id of your StartDate button) {
//do the stuff
} else //EndDate button was clicked {
//do the stuff
}
}
}, year, month, day);
datePickerDialog.show();
}
};
startDate.setOnClickListener(showDatePicker);
endDate.setOnClickListener(showDatePicker);

这里的主要思想是存储 View 触发的 OnClickEvent(在你的例子中是按钮)并将该 View 的 ID 与你的按钮的 ID 进行比较

关于android - 同一 Activity android中的两个日期选择器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21859787/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com