2011-11-27 57 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的答复,其中涵盖了类似的做法......