2017-03-04 87 views
1

我有一個timeInMillis值,我知道我可以從類似的東西得到一個Date;使用Databinding時從getTimeInMillis獲取日期

SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); 
String dateString = formatter.format(new Date(dateInMillis))); 

我使用DataBinding來填充RecyclerView。我也知道,當使用DataBinding這樣的東西時,我可以操縱字符串;

android:text='@{String.format("%.1f", example.double)}' 

不過,我不知道如何從我的timeInMillis值填充TextView用格式化Date

+0

爲什麼不myTextView.setText(dateString)添加到您的TextView編程?仍在研究Databinding,不確定是否允許。看起來像你試圖在XML中設置TextView的格式? –

回答

4

您可以在模型中添加一個函數,它可以將timeInMillis轉換爲格式化的日期。

在模型中使用數據綁定佈局:

public String getDateFormatted(){ 
    SimpleDateFormat formatter = new SimpleDateFormat("dd/MM/yyyy"); 
    String dateString = formatter.format(new Date(dateInMillis))); 
    return dateString; 
} 

在您的佈局:

<layout> 
    <data> 
     <variable name="yourModel" 
       type="com.example.model.yourModel"/> 
    </data> 
... 
<TextView 
... 
    android:text="@{yourModel.dateFomatted}" 
/> 
4

我認爲投入的資源格式是最好的辦法:

<string name="format">%1$td/%1$tm/%1$tY</string> 

你會綁定值這樣的資源:

<TextView ... android:text="@{@string/format(model.date)}" /> 
+0

這個工作與millis時間? –