关于如何从数据绑定中获取上下文的完整示例或教程 android

Full example or tutorial about how to get Context from data binding android

我是 android 的初学者。我有这样的问题 需要获取上下文,以便以正确的方式使用数据绑定来格式化 textview 的日期和时间。但是我不清楚答案。任何人都可以帮助我以正确的方式从数据绑定中获取上下文。

设置日期和时间格式的最佳方式是使用字符串格式。例如,您可以使用:

<TextView android:text="@{@string/dateFormat(user.birthday)}" .../>

其中 dateFormat 是这样的资源:

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

而且生日很长。您应该查看 date formatter documentation 以获得更多与时间和日期相关的格式信息。

中,我给出了一个选项,但暗示了一个现在也可用的选项。您可以使用内置的 context 变量,它是根视图的上下文:

<TextView android:text="@{Converters.formatDate(context, user.birthday, dateFlags)}" .../>

那么你的转换器 class 会是这样的:

public class Converters {
    public static String formatDate(Context context, long timeMillis, int dateFlags) {
        return DateUtils.formatDateTime(view.getContext(), timeMillis,
             dateFlags)
    }
}

但我推荐第一个,因为它简单、灵活且使用的代码更少。它不会将您的日期和时间格式固定为单一语言环境。