gpt4 book ai didi

java - 动态设置选项卡日期

转载 作者:行者123 更新时间:2023-12-01 09:58:28 54 4
gpt4 key购买 nike

我正在尝试将当前日期添加到我的选项卡中,但左侧的日期并未减一。我将今天的日期设置为 OneFragment,然后在 TwoFragment 中将日期增加 1。这部分工作正常,但是当我尝试让今天的前一个日期出现在 ThreeFragment 中时,它没有按预期工作。

当前:ThreeFragment(2016年5月1日 | 2016年4月30日) OneFragmet(2016年5月2日) TwoFragment(2016年5月3日 | 2016年5月4日)

我希望 ThreeFragment 选项卡显示如下日期:(2016 年 4 月 30 日 | 2016 年 5 月 1 日)

我做错了什么?任何帮助将不胜感激,谢谢。

private void setupViewPager(ViewPager viewPager) {
ViewPagerAdapter adapter = new ViewPagerAdapter(getSupportFragmentManager());
Date today = new Date();
Calendar cal = Calendar.getInstance();
DateFormat dateFormat1 = new SimpleDateFormat("EEEE MMM dd, yyyy", Locale.getDefault());
String todate = dateFormat1.format(today.getTime());

for(int j = 2; j >= 0; j--) {
Date decr = addDays(today, -1);
String yesterday = dateFormat1.format(decr.getTime());
adapter.addFragment(new ThreeFragment(), yesterday);
}

adapter.addFragment(new OneFragment(), todate);

for(int i = 0; i < 2; i++) {
cal.add(Calendar.DAY_OF_MONTH, 1);
String tomo = dateFormat1.format(cal.getTime());
adapter.addFragment(new TwoFragment(), tomo);

}

viewPager.setAdapter(adapter);
}

public static Date addDays(Date d, int days)
{
d.setTime(d.getTime() + days * 1000L * 60L * 60L * 24L);
return d;
}

enter image description here

最佳答案

就像 ccsnoopy 所说的那样,但是 addDays 方法对 Today 变量有副作用(这就是它之前几乎有效的原因),所以请尝试这个。

for(int j = 2; j > 0; j--) {
Date decr = addDays(new Date(), -j);
String yesterday = dateFormat1.format(decr.getTime());
adapter.addFragment(new ThreeFragment(), yesterday);
}

关于java - 动态设置选项卡日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36996440/

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