我想要的自定义首选项看起来非常像开箱即用的 EditTextPreference ,只是它的行为类似于结合了两个首选项的“拆分按钮”:如果用户单击左侧的文本,则会弹出编辑文本对话框;允许用户为偏好设置“标签”;如果用户单击右侧的按钮,则会弹出另一个窗口,允许用户为首选项设置“日期”。
我想我可以扩展 EditTextPreference,但我不确定如何为单个首选项控件(或 Android 术语中的“小部件”)维护两个单独的键。或者是否可以在不进行子类化的情况下“混淆”两个首选项?
最佳答案
实际上,您不必使用内置的首选项小部件来管理您的首选项;例如,在我的应用程序中,我使用 PreferenceScreen 来调出带有自定义 ListView /适配器的多选对话框。如果您希望处理自己的键/值存储,您可以使用 findPreference() 绑定(bind)到首选项,在 PreferenceActivity 的 onCreate() 中设置值并将值保存在 Activity 的 onPause() 中。可以通过 getSharedPreferences(file,MODE.PRIVATE) 和关联的 getter 方法检查键/值首选项存储。要编辑它们,请获取返回的 SharedPreferences 对象,并在进行更改后对其调用 edit()/commit()。
这是否回答了您的问题?
关于android - Android 中的组合首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7624365/