问题标签 [dialog-preference]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - 具有自定义布局的自定义 DialogPreference:IllegalStateException:指定的子级已经有父级
我有一个带有自定义对话框布局的自定义 DialogPreference。UI 在我第二次单击时崩溃,java.lang.IllegalStateException: The specified child already has a parent. You must call removeView() on the child's parent first.
我尝试用attachToRoot
equals to充气false
。但随后对话框显示为空。
我猜我应该removeView()
在对话框被关闭时调用它。但是我没有找到应该在哪里添加那段代码。
自定义布局:
自定义对话框首选项:
android - 对于 Preference XML 中使用的 Custom Preference 类,defaultValue 作为空字符串返回
我正在尝试通过扩展DialogPreference
. 我android:defaultValue
在 Preference XML 中指定了一个。一切正常,但是当我尝试从代码中读取首选项的值时,我得到一个空字符串。理想情况下,如果未设置首选项,我应该得到5:00android:defaultValue
的值,这在 Preference XML中提到。
android:defaultValue
当我检索首选项时,如果用户尚未设置首选项,我如何获得在首选项 XML 中指定的值?
android - 自定义 DialogPreference 未正确显示 ImageView
我有一个自定义 DialogPreference:
对话框代码如下:
布局xml代码如下:
当我启动应用程序设置并触摸“Test MyDialogPreference”时,会显示一个对话框,但 imageview 不显示任何图像。我知道如何以编程方式解决此问题(只需覆盖onBindDialogView()
ImageView 图像资源并将其设置为其可绘制对象),但我想了解为什么我必须以编程方式进行。
android - DialogPreference 没有在我期望的时候保存首选项?
我已经编写了一个基本的标准 DialogPreference 工作正常,除了它没有在我期望的时候将首选项保存到默认的共享首选项。
1) 打开应用程序,主活动显示默认共享首选项中的 foo 值 = 1
2)进入设置
3)点击 foo 设置打开我的 DialogPreference 并显示 value = 1
4) 输入值 3
5) 使用 Ok 按钮关闭我的 DialogPreference
***** 默认共享首选项 foo 现在应该是 3
6)点击 foo 设置打开我的 DialogPreference 并显示 value = 1
***** 所以我的 DialogPreference 没有将首选项保存到默认共享首选项?
7) 取消对话框
8) 返回主活动,显示默认共享首选项 = 3 中的 foo 值
***** 所以我的 DialogPreference 确实将首选项保存到默认共享首选项
9) 进入设置
10)点击 foo 设置打开我的 DialogPreference 并显示值为 3
为什么在步骤 (6) 中默认共享首选项的值不是 foo = 3?
当流程从设置列表返回到主活动时,似乎仅将首选项保存到默认共享首选项,这与将首选项保存在 DialogPreference 的 onDialogClosed 方法中是反直觉的。
我的对话首选项
编辑:所以看来我使用 DialogPreference 处理的首选项没有键,这导致了所有问题。但是我已经在preferences.xml 文件中为这个DialogPreference 指定了键。我已经尝试了一切来强制识别密钥,但没有任何效果。
谁能告诉我如何让 DialogPreference 从preferences.xml 文件中接收 android:key 来工作?
首选项.xml
android - 在 DialogPreference 中使用空指针异常实现 onSetInitialValue
我想使用 DialogPreference 实现 TimePreference,在实现 TimePreference 之后,我发现了一个很好的教程,我 注意到 onSetInitialValue(bool,Object) 已被弃用,我实现了 onSetInitialValue(Object)
当我尝试实现 onSetInitialValue(object) 时,我得到了一个空指针异常,因为 defaultValue 为空,尽管一切都与弃用的函数一起正常工作