[英]Android data-binding - Can I access the enclosing activity in the layout XML?
我想在XML中定义一个完成封闭活动的事件监听器,如下所示:
<EditText
android:id="@+id/finish"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="actionDone"
android:inputType="text"
android:onEditorAction="@{() -> activity.finish()}" />
但是,我没有提到封闭活动。 我知道我可以使用<variable>
传递它,但是Activity
似乎是一个太常见的变量,无法在每个布局中显式传递...我认为数据绑定是为了简化代码而引入的。 我没有在ViewDataBinding类中找到任何提示。
您可以访问上下文,但不会自动转换为活动。 有意义的是,如果通胀上下文是一个活动,您可以将其作为变量自动检索。 您可以在android.com上添加功能请求。
与此同时,我知道它有点长,但只要通胀上下文是一个活动,你就可以做到这一点:
<EditText
android:id="@+id/finish"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:imeOptions="actionDone"
android:inputType="text"
android:onEditorAction="@{() -> ((Activity)context).finish()}" />
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.