我在xml中设置了data binding但是当我转到首选项活动以实际设置绑定时我不能。数据绑定xml所在的文件名为preference.xml,因此我假设应该有一个名为PreferencesBinding的生成类,而不是。它应该不是自动生成的吗?另外,我在preferenceActivity.java中的代码不会编译以下内容:
Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PreferencesBinding binding = DataBindingUtil..... //what do put here ??? this is preferenceactivity not Activity
Admin user = new Admin(true);
binding.setUser(user);//this what i want to do
addPreferencesFromResource(R.xml.preferences);//this would not be necessary if i can get dataBinding to work
//..rest of code not important
}
我开始认为数据绑定对偏好设置屏幕不起作用,任何人都可以帮忙吗?
如果neseccary看起来像这样的preferences.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:customNS="http://schemas.android.com/apk/res/mypackage"
>
<data>
<variable name="admin" type="mypackage.Administration"/>
</data>
<PreferenceScreen>
<!-- ....bunch of preferences ... -->
</PreferenceScreen>
</layout
答案 0 :(得分:1)
PreferenceScreen的DataBinding。这是因为该xml不是布局xml。另外,首选项元素根本没有扩展View或ViewGroup。也许将来会引入此功能,但现在不会。只有布局文件可以使用DataBinding。
答案 1 :(得分:0)
仍然不支持 PreferenceScreen 的数据绑定。 Android开发真的很不一致。谷歌告诉我们使用这些新的更好的技术,但随后你就碰壁了,不得不用旧的方式来做。你还不如一直走老路。