簡體   English   中英

日期顯示在Android的ListView中

[英]date display in listview in android

我正在嘗試在android的listview中以降序顯示日期...我編寫了一個程序...它正確顯示了它,但是當一個月的第一個日期到來時,最后一個月的日期不只顯示一個日期顯示...是什么原因? 如何改善我的代碼? 請指導我。

我的代碼在這里...

public void datesadd()
{
    listview.setAdapter(new ListAdapter(this));

        cc1=Calendar.getInstance();
        int mon1=cc1.getTime().getDate();
        Date dd=new Date();
        SimpleDateFormat  format = new SimpleDateFormat("yyyy-MM-dd");
        while(mon1>=count)
        {   pos=0;
            line=new HashMap<String,String>();
            String cdat=String.valueOf(cc1.get(Calendar.DATE));
            @SuppressWarnings("deprecation")

            String mons=String.valueOf(cc1.get(Calendar.MONTH));        
            String day1=String.valueOf(cc1.getTime().getDay());             

            @SuppressWarnings("deprecation")
            String year1=String.valueOf(cc1.get(Calendar.YEAR));    
            try {
                dd=format.parse(year1+"-"+mons+"-"+cdat);
            } catch (ParseException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            line.put("yeari", year1);
            line.put("mont",mons);
            line.put("dayi",dd.toString().substring(0, 3));
            line.put("datei",cdat);             
            mon1--;
            cc1.add(Calendar.DATE, -1);
            Log.v("", "line");

            disp.add(line); 
      // here disp is ArrayList<Hashmap<String,String>> object, i was declared it on top of my main program


        }   
}

我不認為您打算正確進行日期迭代-您只是在幾毫秒內就迭代了該值。

考慮一下:

/* From your code I'm not sure what count is, but you get the idea, you need
 * a Date object here or you can just use a for() loop if you know the number
 *                           |
 *                           V                                              */
while (cc1.getTime().after(count)) {
    cc1.add(Calendar.DAY_OF_YEAR /*or month, year, whatever*/, -1);

    // and then continue with your own code
    line = new HashMap<String,String>();
    String cdat = String.valueOf(cc1.get(Calendar.DATE));
    // ...
}

暫無
暫無

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

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