Android - 带有Preference活动的DataBinding

时间:2016-01-16 02:49:33

标签: android xml preferenceactivity android-databinding

我在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

2 个答案:

答案 0 :(得分:1)

目前不支持

PreferenceScreen的DataBinding。这是因为该xml不是布局xml。另外,首选项元素根本没有扩展View或ViewGroup。也许将来会引入此功能,但现在不会。只有布局文件可以使用DataBinding。

答案 1 :(得分:0)

仍然不支持 PreferenceScreen 的数据绑定。 Android开发真的很不一致。谷歌告诉我们使用这些新的更好的技术,但随后你就碰壁了,不得不用旧的方式来做。你还不如一直走老路。