簡體   English   中英

如何在ListView Android上顯示一周內的日期

[英]How to display date in a week on ListView Android

我有這個:

Date date = new Date();
SimpleDateFormat curFormater = new SimpleDateFormat("EEEE, MMMM dd, yyyy"); 
String dateStr = curFormater.format(date);

setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, new String [] {dateStr}));

但它只顯示一次,我想把它變成listview。 很多想法? 謝謝。

我不確定為什么你會想要一個日期的列表視圖,但是,你的問題似乎是使用ListView的理解,例如你的數組有一個項目,如我的第一個例子

String[] = {"hello"};

這將只顯示列表視圖中的一個項目,如您的示例所示

String[] = {"hello","how","are","you"};

將顯示4行,如果你想多次顯示相同的日期,你可能會創建一個像這樣的數組

int x = 5;

String[] print = new String[x];

for(int i = 0; i<5; i++) {
   print[i] = date;
}

這將打印出5行日期

嘗試這樣的事......

SimpleDateFormat curFormater = new SimpleDateFormat("EEEE, MMMM dd, yyyy"); 
GregorianCalendar date = new GregorianCalendar();
String[] dateStringArray = new String[7];

for (int day = 0; day < 7; day++) {
    dateStringArray[day] = curFormater.format(date.getTime());
    date.roll(Calendar.DAY_OF_YEAR, true);
}
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, dateStringArray));

該數組只包含一個項目:

...new String [] {dateStr}...

您可以輕松地測試結果:

...new String [] {dateStr,dateStr,dateStr,dateStr,dateS}...

然后使用要顯示的日期構建數組。

你應該嘗試更具描述性,並詳細說明你所追求的是什么。 我假設到現在為止你已經找到了如何根據已經給出的答案向列表中添加多個條目。

要使用后續日期填充列表,只需獲取一個日歷實例,並創建一個循環,將每個步驟的日期字段遞增“一”。 就像是:

List<String> dateList = new ArrayList<String>();
Calendar calendar = Calendar.getInstance();
for (int i=0; i<31; i++) {
    calendar.add(Calendar.DATE, 1);
    SimpleDateFormat curFormater = new SimpleDateFormat("EEEE, MMMM dd, yyyy");
    dateList.add(curFormater.format(calendar.getTime()));
}
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, dateList));

這應該會在今天向您顯示列表中的下一個31天。

//編輯:哎呀,錯過了MisterSquonk的回復,它涵蓋了類似的方法......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM