【发布时间】:2017-08-23 16:03:08
【问题描述】:
我有两个 DataBindingClass,比如 Activity1Binding 和 Activity2Binding。之所以如此,是因为不同的包中有两种不同的布局。但是,这两个活动的逻辑功能是相同的,所以我正在尝试创建一个超类。
超类
...
...
mBinding.setItem(item);
...
checkSolution(mBinding.getItem()); //many other methods that use mBinding.
活动 1(扩展超类)
...
Activity1Binding mBinding;
...
活动 2(扩展超类)
...
Activity2Binding mBinding;
...
我面临以下问题。
要在超类中使用mBinding,它应该具有对该对象的引用。由于所有DataBinding 对象都扩展ViewDataBinding,因此我尝试声明一个相同的对象并将其类型转换为子类中的特定对象。
超类
ViewDataBinding mBinding;
...
活动 1
mBinding = (Activity1Binding) DataBindingUtil.setContentView(this, R.layout.activity1);
问题:这将不允许我使用像 getItem() 这样特定于数据绑定的方法。我在两种绑定布局中都使用了相同的对象名称item。
我应该如何创建一个超类,让我可以绑定到两个对象,同时让我从两个类中删除冗余代码?
【问题讨论】:
-
这有什么更新吗?遇到同样的问题
标签: android data-binding