StringUtils
クラスで日付をフォーマットするときにNullPointerException
が返されます。私がStringUtils
なしでそれを使用すると、うまく動作します。データバインディングでstaticメソッドと併用するとNullPointerExceptionが発生する
私はこれを持ってStringUtils
のインポート文を追加しました:私は、デバッガで確認すると
public static String getFormattedDate(String unformattedDate) {
// unformattedDate will be in format of yyyy-mm-dd
// Convert it to d mmm, yyyy
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd");
String date = null;
try {
Date d = df.parse(unformattedDate); // <<--------- Here
SimpleDateFormat dateFormat = new SimpleDateFormat("d MMM, yyyy");
date = dateFormat.format(d.getTime());
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
、:
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@{StringUtils.getFormattedDate(user.date)}" />
これは私に私StringUtils
方法でエラーになりますunformattedDate
は最初からnull
です。正しいメソッドが呼び出されますが、渡される値はnull
です。これはおかしい。
私はレイアウトファイルでこのようにそれを使用する場合:
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@{user.date}" />
それは私にエラーを与えていない、と日付が画面に表示されます!
私はプロジェクトをクリーニングして再実行しようとしました。しかし、成功はありません。
ここで、「user」の値を設定しているときは? –
firebaseデータベースを使用して非同期にフェッチされます。それが問題になっていますか? – kirtan403