gpt4 book ai didi

java - 如何使对话框在 Android fragment 的 onClick 监听器内工作?

转载 作者:行者123 更新时间:2023-12-01 11:31:08 25 4
gpt4 key购买 nike

我正在尝试构建一个 Android 应用程序,并且遇到了一种情况,我希望用户通过单击上一个(月份)和下一个(月份)按钮在日期之间导航。然而,我不希望用户转到当月之后的一个月。我希望应用程序提示一个对话框,让用户知道他们无法选择当前月份之后的一个月。下面是我的代码 fragment - 我在两个部分遇到错误

01. if(formattedDate.before(currentMonth) || formattedDate.equals(currentMonth)){

在上面我收到错误消息

The method before(Calendar) is undefined for the type String

02. new AlertDialog.Builder(HomeFragment.this)

在上面我收到一个错误提示

The constructor AlertDialog.Builder(HomeFragment) is undefined

下面是我的点击监听器的完整代码

NextPicker.setOnClickListener(new OnClickListener() {
public void onClick(View v) {

if(formattedDate.before(currentMonth) || formattedDate.equals(currentMonth)){

c.add(Calendar.MONTH, 1);
formattedDate = df.format(c.getTime());
Log.v("NEXT DATE : ", formattedDate);
DatePicker.setText(formattedDate);
}
else{

new AlertDialog.Builder(HomeFragment.this)

.setTitle("Wrong Date Selection!")

.setMessage("The Month Selected must be before or equal to current month")

.setNeutralButton("Ok",

new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog,

int which) {

}

}).show();
}


}
});

最佳答案

你的第一个问题是formattedDate是一个字符串。它需要是一个 java.util.Date。

您的第二个问题来自这样一个事实:AlertDialog.Builder 构造函数需要 Context 子类。 Fragment不是Context的子类,但Activity是。尝试类似的事情

new AlertDialog.Builder(HomeFragment.this.getActivity());

关于java - 如何使对话框在 Android fragment 的 onClick 监听器内工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30366854/

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