-1

WhatsAppのようにListViewをスクロールすると、アプリで日付を表示するにはどうすればいいですか?
では、わかりやすくするために、以下の画像を参照してください。Whatsappのような日付をスクロールする方法ListView

enter image description here

私はListViewコントロールをスクロールすると、日付がリスト上に表示されます。
まだ私の質問を理解していない場合はWhatsAppを開き、いずれかのグループ&スクロールを開始してください:古いテキストの日付が表示されます。

enter image description here

答えて

0
  Calendar cal = Calendar.getInstance(); 
      SimpleDateFormat sdf = new SimpleDateFormat("dd-MMM-yyyy"); 
      String strDate = sdf.format(cal.getTime()); 
      today = new String[user.length()]; 
      yesterday = new String[user.length()]; 
      earlier = new String[user.length()]; 
      int t_counter = 0; 
      int y_counter = 0; 
      int e_counter = 0; 
      for (int i = 0; i < user.length(); i++) { 
       JSONObject c = user.getJSONObject(i); 
       post = c.getString(TAG_TEXT).toString(); 
       date = c.getString(TAG_DATE).toString(); 
       time = c.getString(TAG_TIME).toString(); 

       if (strDate.equals(c.getString(TAG_DATE.toString()))) { 
        if (t_counter == 0) { 
         TextView tv = getTextView(lp, "Today"); 
         myLayout.addView(tv); 
         t_counter = t_counter + 1; 
        } 
        View msgView = generateChatView(post, time); 
        myLayout.addView(msgView); 

       } 
       try { 
        temp = sdf.parse(c.getString(TAG_DATE.toString())); 
        c_date = sdf.parse(strDate); 
       } catch (ParseException e) { 
        e.printStackTrace(); 
       } 
       if (c_date.getTime() - temp.getTime() == 86400000) { 
        if (y_counter == 0) { 
         TextView tv = getTextView(lp, "Yesterday"); 
         myLayout.addView(tv); 
         ; 
         y_counter = y_counter + 1; 
        } 
        View msgView = generateChatView(post, time); 
        myLayout.addView(msgView); 
       } 
       if (c_date.getTime() - temp.getTime() > 86400000) { 
        if (e_counter == 0) { 
         TextView tv = getTextView(lp, "Earlier"); 
         myLayout.addView(tv); 
         e_counter = e_counter + 1; 
        } 
        View msgView = generateChatView(post, time); 
        myLayout.addView(msgView); 
       } 

      } 
+0

あなたは、コードを説明できますか? –

+0

@ManishGupta日付を比較して一致するビューをコンテナに追加するだけで、どのメッセージがリストビューの上に表示され、どの日付から来たのかを判断し、現在の日付と比較して情報を表示するビューには、一般的な解決策はありません。 –

関連する問題