我有TextView
用于显示时间。我想使用Android的DataBinding插件。
对于格式化时间,我使用的是DateUtils.formatDateTime(context, int, int)
实例的Context
方法。是否有可能获得上下文包含元素?还是我必须使用老式的方式?
谢谢
最佳答案
以为我应该回答而不是发表评论。 rc2发布时,您将有更多选择。在rc1中,可以将变量中的上下文传递给Binding,然后将其作为参数传递给方法。另外,您可以为数据绑定(bind)创建自定义属性:
@BindingAdapter({"timeMillis", "dateFlags"})
public static void setDateText(TextView view, int timeMillis, int dateFlags) {
view.setText(DateUtils.formatDateTime(view.getContext(), timeMillis,
dateFlags));
}
然后在TextView中使用它:
<TextView ... app:timeMillis="@{timeVar}" app:dateFlags="@{dateFlags}"/>