[英]Android - <Include/> Data Binding
我正在阅读一些示例和Android文档,但我的实现不起作用
我有我的活动和我的视图模型。
活动布局
<?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<variable
name="viewmodel"
type="package.to.viewmodel"/>
</data>
<android.support.v4.widget.DrawerLayout>
<include
app:viewmodel="@{viewmodel}"/>
<!-- More Code -->
</android.support.v4.widget.DrawerLayout>
</layout>
包括布局
<?xml version="1.0" encoding="utf-8"?>
<layout>
<data>
<variable
name="viewmodel"
type="package.to.viewmodel"/>
</data>
<android.support.design.widget.CoordinatorLayout>
<!-- More Code -->
<android.support.design.widget.FloatingActionButton
android:onClick="@{viewmodel.newButtonClickListener}"/>
</android.support.design.widget.CoordinatorLayout>
</layout>
ViewModel代码
public class MainViewModelImpl implements MainViewModel {
private View.OnClickListener newButtonClickListener;
private View.OnClickListener newEventButtonClickListener;
private View.OnClickListener newAssignmentButtonClickListener;
private View.OnClickListener newContactButtonClickListener;
private View.OnClickListener newChatButtonClickListener;
//All the getters for the Listeners
}
所以代码构建和运行没有错误,但是当我点击按钮没有任何反应,即使我的听众正确实现。
有没有人知道为什么听众没有被触发?
更新当我调试应用程序时,我意识到包含布局中的视图模型即使在绑定之后也是null。
我想通了,我在给视图充气之前正在进行绑定。 所以现在它有效。
谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.