问题标签 [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.

0 投票
0 回答
25 浏览

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.

我尝试用attachToRootequals to充气false。但随后对话框显示为空。

我猜我应该removeView()在对话框被关闭时调用它。但是我没有找到应该在哪里添加那段代码。

自定义布局:

自定义对话框首选项:

0 投票
0 回答
38 浏览

android - 对于 Preference XML 中使用的 Custom Preference 类,defaultValue 作为空字符串返回

我正在尝试通过扩展DialogPreference. 我android:defaultValue在 Preference XML 中指定了一个。一切正常,但是当我尝试从代码中读取首选项的值时,我得到一个空字符串。理想情况下,如果未设置首选项,我应该得到5:00android:defaultValue的值,这在 Preference XML中提到。

android:defaultValue当我检索首选项时,如果用户尚未设置首选项,我如何获得在首选项 XML 中指定的值?

0 投票
1 回答
63 浏览

android - 自定义 DialogPreference 未正确显示 ImageView

我有一个自定义 DialogPreference:

对话框代码如下:

布局xml代码如下:

当我启动应用程序设置并触摸“Test MyDialogPreference”时,会显示一个对话框,但 imageview 不显示任何图像。我知道如何以编程方式解决此问题(只需覆盖onBindDialogView()ImageView 图像资源并将其设置为其可绘制对象),但我想了解为什么我必须以编程方式进行。

0 投票
2 回答
469 浏览

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

0 投票
0 回答
154 浏览

android - 在 DialogPreference 中使用空指针异常实现 onSetInitialValue

我想使用 DialogPreference 实现 TimePreference,在实现 TimePreference 之后,我发现了一个很好的教程, 注意到 onSetInitialValue(bool,Object) 已被弃用,我实现了 onSetInitialValue(Object)

当我尝试实现 onSetInitialValue(object) 时,我得到了一个空指针异常,因为 defaultValue 为空,尽管一切都与弃用的函数一起正常工作

0 投票
1 回答
138 浏览

kotlin - PreferenceActivity 中的 PreferenceDialog - 目标片段必须实现 TargetFragment 接口

我正在尝试在 Preference 活动中实现 DialogPreference。我实现了它,但似乎 setTargetFragment 被标记为已弃用。

在此处输入图像描述

这是我的旧代码:

我想用 setFragmentResultListener 替换它,但我总是收到“目标片段必须实现 TargetFragment 接口”异常。

有人能帮我吗?

这是完整的代码:

提前致谢。