Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/222.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android数据绑定到哪里获取上下文?_Android_Data Binding_View_Android Context - Fatal编程技术网

Android数据绑定到哪里获取上下文?

Android数据绑定到哪里获取上下文?,android,data-binding,view,android-context,Android,Data Binding,View,Android Context,我有TextView来显示时间。我想使用Android的数据绑定插件 对于格式化时间,我使用了DateUtils.formatDateTime(context,int,int)方法,该方法采用context实例。是否可以获取上下文包含元素?还是我必须用传统的方式 谢谢我想我应该回答而不是发表评论。rc2发布后,您将有更多选项。在rc1中,可以将变量中的上下文传递给绑定,然后将其作为参数传递给方法。或者,您可以为数据绑定创建自定义属性: @BindingAdapter({"timeMillis",

我有
TextView
来显示时间。我想使用Android的数据绑定插件

对于格式化时间,我使用了
DateUtils.formatDateTime(context,int,int)
方法,该方法采用
context
实例。是否可以获取上下文包含元素?还是我必须用传统的方式


谢谢

我想我应该回答而不是发表评论。rc2发布后,您将有更多选项。在rc1中,可以将变量中的上下文传递给绑定,然后将其作为参数传递给方法。或者,您可以为数据绑定创建自定义属性:

@BindingAdapter({"timeMillis", "dateFlags"})
public static void setDateText(TextView view, int timeMillis, int dateFlags) {
    view.setText(DateUtils.formatDateTime(view.getContext(), timeMillis,
                 dateFlags));
}
然后在文本视图中使用它:

<TextView ... app:timeMillis="@{timeVar}" app:dateFlags="@{dateFlags}"/>

您还可以在视图中使用当前视图
上下文作为参数执行类似操作

...
android:text="@{yourModelHere.yourModelMethodHere(context)}"
...
生成一个名为context的特殊变量,用于绑定 根据需要表达。context的值是来自 根视图的getContext()。上下文变量将被 具有该名称的显式变量声明


换句话说,每次需要传递上下文时,只需像
@{Object.method(context)}

中那样使用“context”,就可以将其作为变量传递给数据绑定。在rc2中,您将拥有与DataBindingComponent相关的其他选项。或者,您可以创建一个对多个属性进行操作的BindingAdapter。有更好的解决方案吗?我有一个类似的情况,我需要一个上下文(我需要一个格式化字符串的本地化值),我想知道如何让框架提供它。我已经实现了这个解决方案,它是有效的,但是失去了数据绑定所提供的许多清晰性。编辑:是我正在处理的。上下文现在作为一个自动变量“context”可用。但是,对于您的特定需求,有一个更好的解决方案。字符串格式是表达式语言的一部分,所以请使用类似于
@{@String/myformat(var1,var2)}
的东西,谢谢!今天晚上我将试验一下。有什么地方我能跟上这些变化吗?别提这件事,我正努力在任何地方找到更改日志。@GeorgeMount我还不明白你的答案,请帮我在我的问题中回答它。谢谢:(你从哪里得到的?@dominik4142你可以查看它。
会根据需要生成一个名为context的特殊变量,用于绑定表达式。context的值是根视图的getContext()中的context。上下文变量将被具有该名称的显式变量声明覆盖。
是否有特殊的activity@MuhammadYounas活动没有一个特殊的词,为什么要在xml中使用活动?如果确实需要,可以将上下文转换为视图所在的活动,但不能当然,如果这是一个好的做法。