关于如何从数据绑定中获取上下文的完整示例或教程 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)
}
}
但我推荐第一个,因为它简单、灵活且使用的代码更少。它不会将您的日期和时间格式固定为单一语言环境。
我是 android 的初学者。我有这样的问题
设置日期和时间格式的最佳方式是使用字符串格式。例如,您可以使用:
<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)
}
}
但我推荐第一个,因为它简单、灵活且使用的代码更少。它不会将您的日期和时间格式固定为单一语言环境。