我处于需要根据以下流程显示“比率”对话框的情况
打开应用(第一次) - >每2分钟显示一次对话
如果评级 - >下个月显示对话框
如果点击以后的按钮 - >下周显示对话框。
String rate_value=myPref.getString("rate_value", "later");
Log.e("rate", String.valueOf(rate_value));
if (rate_value=="later") {
initCalendarNextWeek();
myTimer.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
showRateDialog();
}
});
}
}, nextWeekDate);
}
else if (rate_value=="now") {
initCalendarNextMonth();
myTimer.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
showRateDialog();
}
});
}
}, nextMonthDate);
}
else if (rate_value=="no_thanks") {
myTimer.schedule(new TimerTask() {
@Override
public void run() {
// TODO Auto-generated method stub
activity.runOnUiThread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
showRateDialog();
}
});
}
}, 120000, 120000);
}
public void initCalendarNextMonth(){
cal=Calendar.getInstance();
cal_day=cal.get(Calendar.DATE);
cal_month=cal.get(Calendar.MONTH);
cal_year=cal.get(Calendar.YEAR);
nextMonthDate=new Date();
nextMonthDate.setDate(cal_day);
nextMonthDate.setMonth(cal_month+1);
nextMonthDate.setYear(cal_year);
}
public void initCalendarNextWeek(){
cal=Calendar.getInstance();
cal_day=cal.get(Calendar.DATE);
cal_month=cal.get(Calendar.MONTH);
cal_year=cal.get(Calendar.YEAR);
nextWeekDate=new Date();
nextWeekDate.setDate(cal_day+7);
nextWeekDate.setMonth(cal_month);
nextWeekDate.setYear(cal_year);
}
答案 0 :(得分:0)
好的,也许看看Calendar课程。不推荐使用Date的set方法,而不是使用
nextMonthDate = new Date()
而不是使用
nextMonthDate = new Calendar();
因为那样你就可以使用Calendar文档中陈述的方法,比如add,而不是使用setDate或setMonth。我希望这会有所帮助。