gpt4 book ai didi

android - 如何从 DatePicker 对话框中为多个调用设置日期

转载 作者:太空狗 更新时间:2023-10-29 16:21:51 25 4
gpt4 key购买 nike

美好的一天,似乎无法为此找到解决方案。我有 2 个按钮,按下时会打开一个日期选择器对话框,但我现在的问题是,如何将它们设置为 OnDateSet 方法上的适当按钮。我为日期使用 DialogFragment,然后在我的 Activity 中实现 DateListener。我试过使用 getTag() 但没有成功获取标签。这是我尝试过的:

public void showfromDatePickerDialog(View v) {
DialogFragment dateFragment = new DateDialogFragment();
dateFragment.show(getSupportFragmentManager(), "fromdatePicker");
}

public void showtoDatePickerDialog(View v) {
DialogFragment dateFragment = new DateDialogFragment();
dateFragment.show(getSupportFragmentManager(), "todatePicker");
}


public void onDateSet(DatePicker view, int year, int month, int day) {

StringBuilder builder = new StringBuilder();
builder.append(day).append("-")
.append(month).append("-")
.append(year);

String text= builder.toString();

if(view.getTag().toString().equals("fromdatePicker")) { // error here

Log.d(TAG, "got here" + text);
fromdate.setText(text);
}


if(view.getTag() == "todatePicker") {
todate.setText(text);
}

有什么想法可以实现吗?我一直看到有关使用 2 个不同 DialogFragment 类的解决方案,但我猜应该有另一种方法。还是我错了?谢谢

最佳答案

好的,我有办法解决这些问题。这对遇到此问题的任何人都有帮助。如果它稍微不正确,请告诉我,我可以更改它。但这就是我为解决这个问题所做的。

在 DateSet 上:

  public void onDateSet(DatePicker view, int year, int month, int day) {

StringBuilder builder = new StringBuilder();
builder.append(day).append("-")
.append(month).append("-")
.append(year);

String text= builder.toString();

FragmentManager fragmanager = getSupportFragmentManager();

if(fragmanager.findFragmentByTag("fromdatePicker") != null) {

Log.d(TAG, "got here" + text);
fromdate.setText(text);
}



// if(view.getTag() == "todatePicker") {
if(fragmanager.findFragmentByTag("todatePicker") != null) {
todate.setText(text);
}

这样您就可以对多个调用使用同一个 dateListener,并根据在对话框中调用 show 时传递的标记适本地设置日期。

关于android - 如何从 DatePicker 对话框中为多个调用设置日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12514242/

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