![](/img/trans.png)
[英]android onClick Button inside fragment not work and no errors
[英]How do I make a Dialog Box work inside an onClick Listener in a Fragment in Android?
我正在尝试构建一个Android应用,并且遇到一种情况,我希望用户单击“上一个(月)”和“下一个(月)”按钮在日期之间导航。 但是,我不希望用户在当前月份之后再去一个月。 我希望该应用程序提示一个对话框,让用户知道他们无法选择当前日期之后的一个月。 以下是我的代码段-我在两个部分上遇到错误
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());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.