Android DataBinding在哪里可以得到上下文? [英] Android DataBinding where to get context?
本文介绍了Android DataBinding在哪里可以得到上下文?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
对于格式化时间,我使用的是DateUtils.formatDateTime(context,int,int)方法,它使用Context实例。是否可以获取上下文包含元素?或者我必须使用旧的学校方式吗?
谢谢
解决方案
@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}/>
I have TextView for showing time. I want to use Android's DataBinding plugin. For formatting time I am using DateUtils.formatDateTime(context, int, int) method which takes Context instance. Is it possible to get context include element? Or do I have to use old school way?
Thanks
解决方案
Thought I should answer instead of putting in a comment. You'll have more options when rc2 is released. In rc1, you can pass the context in a variable to the Binding, then pass it as a parameter to the method. Alternatively, you can create a custom attribute for data binding:
@BindingAdapter({"timeMillis", "dateFlags"})
public static void setDateText(TextView view, int timeMillis, int dateFlags) {
view.setText(DateUtils.formatDateTime(view.getContext(), timeMillis,
dateFlags));
}
And then use it in your TextView:
<TextView ... app:timeMillis="@{timeVar}" app:dateFlags="@{dateFlags}"/>
这篇关于Android DataBinding在哪里可以得到上下文?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文