在 Android 中,有很多内置的首选项,例如CheckBoxPreference
, EditTextPreference
. 除了这些内置的首选项,我们可以通过扩展Preference
类来自定义一些首选项。那么我们可以在这些首选项中获得一个小部件,例如checkbox
,edittext
吗?
问问题
480 次
1 回答
0
我认为您在谈论的是首选项屏幕中首选项末尾显示的小部件,对吗?Android 将允许您通过 widgetLayout 属性在 xml 中设置这些小部件:
<com.me.MyPreference
android:key="my_key"
android:widgetLayout="@layout/my_layout"
android:title="@string/my_title"/>
或通过一些函数在代码中,但没有提供太多在运行时访问实际的膨胀布局(例如,更新复选框的状态)。查看CheckboxPreference代码,Google 通过在 Prefs onBindView函数中获取对小部件的引用来解决此问题:
@Override
protected void onBindView(View view) {
super.onBindView(view);
myWidget = (MyWidget) view.findViewById(R.id.my_widget);
}
然后当首选项更改时,您可以稍后对视图执行您想要的操作。
于 2017-05-08T18:47:31.003 回答