在Android中,有很多内置偏好设置,例如CheckBoxPreference
,EditTextPreference
。除了这些内置首选项,我们还可以通过扩展Preference
类来自定义一些首选项。我们也可以在这些偏好设置中获取小部件,例如checkbox
,edittext
?
答案 0 :(得分:0)
我认为你所谈论的是prefs屏幕中Preferences的结尾处显示的小部件,对吧? 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);
}
然后,当pref更改时,您可以对视图执行所需的操作。