2011-11-27 56 views
0

顯示在一個星期日期我有這樣的:如何在Android的ListView控件

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})); 

但只顯示一次,我想將它做成列表視圖。 Aany的想法?謝謝。

+1

嗯,('新的String [] {dateStr}'),嘗試創建一個您想要顯示日期的字符串數組? – dmon

+0

嗯,是的,我想顯示它到列表視圖 – Michelle

回答

1

嘗試這樣的事情...

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)); 
+0

thx u – Michelle

1

我不知道你爲什麼會想只是一個日期的列表視圖,但是,您的問題似乎是使用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線日期的

+0

如何顯示在不同的日期在列表視圖上的日期? – Michelle

+0

對不起,做什麼?你的問題是沒有意義的 – Samuel

+0

說明了在不同的日期,所以如果十月27,2011,然後十月28,十月29等 – Michelle

0

數組只包含一個項目:

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

您可以輕鬆地測試結果做:

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

然後建立數組與你想展示的日期。

+0

但沒有表現出不同的日期,所有的人都是一樣的,如何讓它與衆不同 – Michelle

0

你真的應該儘量多一點的描述和闡述什麼是真的,你是後。根據已經給出的答案,我現在假設你已經想出瞭如何將多個條目添加到列表中。

要用隨後的日期填充你的列表,只需獲取一個Calendar實例並創建一個循環,每一步都用'one'來增加day字段。例如:

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天。

//編輯:呸,錯過的,而不是硬編碼dateStr插入適配器MisterSquonk的答覆,其中涵蓋了類似的做法......