2017-12-21 21 views
0

リストビューのすべての項目に入力された日の日付を追加します。問題は、私は日付を格納する方法を知らない、日付は、項目が昨日または1週間前に入力されたにもかかわらず、現在の日付に更新し続けます。リストビューのアイテムに日付を保存する方法は?

これはこれは、あなたが面倒古い日時のクラスを使用しているリストビュー項目に入力された日付のコード

while ((iterator2.hasNext())) { 
     String add = iterator2.next(); 
     conCat2.add("Added : " + add + " "+ month_name); 


    } 
+0

いつも、データベースまたはSharedPreferencesに日付を保存していますか? –

+2

このコードを使用して日付を保存することは決してありません。 Android上に一般的なものを格納することについての質問は、適切な答えには広すぎます。 –

+0

はい、それは私が具体的に求めている理由です。私は項目が入力された日付を保存したい。助けてもらえますか?\ – user9127741

答えて

1

java.time

ある日付のコード

Calendar cal = Calendar.getInstance(); 
    SimpleDateFormat month_date = new SimpleDateFormat("dd" + " MMM"); 
    String month_name = month_date.format(cal.getTime()); 

ですこれはjava.timeクラスに取って代わられています。古いAndroidの場合は、ThreeTen-BackportプロジェクトとThreeTenABPプロジェクトを参照してください。

MonthDayクラス

年なしの日付のMonthDayクラスを使用します。レガシークラスとは異なり、java.timeは1月から12月の間、1月12日の月の番号付けを使用します。

MonthDay md = MonthDay.of(1 , 23) ; 

または、Month列挙型を使用します。

MonthDay md = MonthDay.of(Month.JANUARY , 23) ; 

LocalDate

あなたは年間で全体の日付を意味している場合、LocalDateを使用しています。

LocalDate ld = LocalDate.of(2017 , 1 , 23) ; 
+0

これはちょうど正しい書式設定ですか?私は項目が入力された日の日付を表示したい。 – user9127741

0

問題は主にストレージです。あなたはどこかに日付を保存することができますので、自分の都合でフェッチすることができます。あなたのオプションは実際には広範囲です。あなたがすることによって、これを達成することができます:オブジェクト指向プログラミングと直列化の概念を使用して

  • 、あなたはセットでモデルクラスを作成し、日付の方法を取得し、これまでに入力した各項目のオブジェクトを作成し、その後にオブジェクトを格納することができますシリアライザを使用したデバイスメモリリストビューをロードするときにフェッチすることができます。これにより、日付が常に正しいようになります。一度設定すると、日付の値は決して変更されません。 Serializableを使用してデバイスメモリにデータを保存する方法については、Object serialization in Java
  • オンラインデータベース(たとえばFirebase)に保存し、必要なときにフェッチすることができます。 Firebaseの使用についてのチュートリアルを取ることをお勧めします。このリンク:https://firebase.google.com/docs/database/android/start/はあなたに頭出しをします。
  • 他のデータベースに保存してください。
関連する問題