Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的组合偏好_Android_Layout_Preference - Fatal编程技术网

Android中的组合偏好

Android中的组合偏好,android,layout,preference,Android,Layout,Preference,我想要的自定义首选项看起来非常像开箱即用,只是它的行为类似于“拆分按钮”,它结合了两个首选项:如果用户单击左侧的文本,则会弹出“编辑文本”对话框;允许用户设置首选项的“标签”;如果用户单击右侧的按钮,将弹出另一个窗口,允许用户设置首选项的“日期” 我想我可以扩展EditTextPreference,但我不确定如何为单个首选项控件(或Android术语中的“小部件”)维护两个单独的键。或者,是否可以在不进行子类化的情况下“混合”两个首选项?实际上,您不必使用内置的首选项小部件来管理您的首选项;例如

我想要的自定义首选项看起来非常像开箱即用,只是它的行为类似于“拆分按钮”,它结合了两个首选项:如果用户单击左侧的文本,则会弹出“编辑文本”对话框;允许用户设置首选项的“标签”;如果用户单击右侧的按钮,将弹出另一个窗口,允许用户设置首选项的“日期”


我想我可以扩展EditTextPreference,但我不确定如何为单个首选项控件(或Android术语中的“小部件”)维护两个单独的键。或者,是否可以在不进行子类化的情况下“混合”两个首选项?

实际上,您不必使用内置的首选项小部件来管理您的首选项;例如,在我的应用程序中,我使用PreferenceScreen打开一个带有自定义listview/适配器的多选对话框。如果希望处理自己的键/值存储,可以使用FindReference()绑定到首选项,在PreferenceActivity的onCreate()中设置值,并将值持久保存在activity的onPause()中。可以通过getSharedReferences(file,MODE.PRIVATE)和相关的getter方法检查键/值首选项存储。要编辑它们,请获取返回的SharedReferences对象,并在进行更改后对其调用edit()/commit()


这是否回答了您的问题?

看起来我需要PreferenceGroupAdapter()之类的东西?但奇怪的是,这门课是私人的。