问题标签 [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 - 我应该使用 Dialog 还是 DialogPreference 来制作专门的首选项对话框?
我正在尝试在我的应用程序中进行自定义设置,该设置PreferenceActivity
最终Dialog
将具有以下内容
- 指定
EditText
服务器 - A
Button
用于测试服务器连接 Icon
指定是否已到达服务器的响应
我在创建 custom 方面取得了一些进展Dialog
,但我也遇到了DialogPreference
似乎对此类功能有用的类。
我想知道我是否有任何理由开始尝试使用DialogPreference
,或者我是否有理由继续玩弄一个简单的 custom Dialog
。
我会遇到任何问题吗?
android - 使用对话首选项从搜索栏保存浮动
我正在使用自定义对话框首选项在我的首选项菜单中生成搜索栏。在研究了 seekbar 的实现之后,为了从 seekbar 中获取我需要的浮点值,我编写了以下代码:
这会产生我想要的浮动。但是,我希望能够在我的主要活动中使用这个浮动。我尝试使用 SharedPreferences 存储它:
这就是我学会在扩展 Activity 的类中使用 SharedPreferences 的方式。
但是,由于此搜索栏扩展了对话首选项,我无法使用
getBaseContext()
当我收到该类型的方法 getBaseContext 未定义的错误时。
我曾尝试将 getBaseContext() 更改为 getContext() 但这并不成功,尽管这可能是因为我不熟悉此实现。
如何从对话首选项中保存此浮点数并在不同的类中使用该值?
我用来检索 SharedPreferences 的代码:
Mpm.class:包com.gbclimber.ep;
}
android - 首选项不保存使用复合 EditTextPreferences
我已按照本教程使用复合对话框首选项
所有东西都运行良好,唯一的问题是偏好没有为应用程序保存。可能是系统默认不保存首选项,所以有什么方法可以保存它们。
我已经实现callChangeListener()
了保存首选项的方法:
java - 如何从 PreferenceActivity 在 Preference 类中运行函数
我们可以在 PreferenceActivity 中设置的 Preference 类型只有这么多。单击某个首选项后,我将尝试运行特定功能。有没有办法覆盖preferenceScreen 或editText onClick?
android - 为什么自定义 DialogPreference 不会在 onSharedPreferenceChanged 侦听器上触发?
我正在尝试在首选项中设置对话框首选项,用户只需单击肯定按钮即可触发某些操作。(清除数据库?否 | 是)
我实际上不想保留任何东西,只需触发 onSharedPreferenceChanged 侦听器,这样我就可以在活动中处理它。但我不知道如何触发它
//解决方案
android - 如何为 DialogPreference 子类正确实现 onRestoreInstanceState()?
我正在实现我自己的自定义 DialogPreference 子类,它有一个用于持久化整数的 SeekBar。我对需要进入的内容onSaveInstanceState()
和onRestoreInstanceState()
. 具体来说,您是否需要更新用户与之交互的 UI 小部件(在我的例子中是 SeekBar 小部件)onRestoreInstanceState()
?
我感到困惑的原因是这里的 API 文档文章告诉你这样做:
但是查看一些官方 Android Preference 类(EditTextPreference和ListPreference)的源代码,UI 小部件没有在onRestoreInstanceState()
. 只有 Preference 的基础值是(在上面的示例中,这将是mNewValue
)。
这是 EditTextPreference 的相关来源:
那么,共识是什么?我应该在哪里更新 UI 小部件(如果我应该更新它......)?
android - 为什么屏幕旋转时片段不保留状态?
我在 PreferenceFragment 中获取一些自定义 DialogPreference 子类以在屏幕旋转时保持可见时遇到了一些麻烦。我在使用 PreferenceActivity 时没有遇到这个问题,所以我不知道这是 Android 错误还是我的代码有问题,但我希望有人确认他们是否有相同的体验。
为了测试这一点,首先创建一个包含至少一个 DialogPreference 的首选项屏幕(哪个子类都没有关系)。然后在 PreferenceActivity 中显示它。当您运行您的应用程序时,按下 DialogPreference 以显示它的对话框。然后旋转屏幕以改变方向。对话框是否仍然可见?
然后尝试相同的方法,但使用 PreferenceFragment 来显示您的偏好,而不是 PreferenceActivity。同样,当您旋转屏幕时对话框是否仍然可见?
到目前为止,我发现如果使用 PreferenceActivity,对话框将保持可见,但如果使用 PreferenceFragment,则不会。查看 DialogPreference的源代码,似乎正确的行为是让对话框保持可见,因为在屏幕重新定向上调用isDialogShowing
时会保存状态信息。onSaveInstanceState()
因此,我认为一个错误可能会阻止 PreferenceFragment(以及其中的所有内容)恢复该状态信息。
如果是 Android 的 bug,那么它的影响是深远的,因为任何使用 PreferenceFragment 的人都无法保存和恢复状态信息。
有人可以确认吗?如果它不是一个错误,那么发生了什么?
android - 自定义 DialogPreference 中的 Android Spinner 在方向更改时强制关闭应用程序
我创建了一个自定义对话框首选项,它有两个微调器,以便选择特定的时间间隔(例如 2 秒或 2 分钟或 3 小时等)。因此,当我在首选项屏幕中单击我的自定义首选项时,自定义对话框首选项会弹出起来,它显示了两个微调器。但是,当我选择其中一个微调器(弹出另一个对话框 - 请参阅第二张图像)并且如果我更改屏幕的方向时,应用程序将被强制关闭。:S 这发生在 Android 2.3.6 Gingerbread 中。我已经用 android 4.1 进行了测试,它工作正常,但微调器不同,它不在对话框中,而是在组合框样式中。
我已将所有函数的代码放在 try catch 中,但我无法捕获异常。以下是错误:
有一个解决方案可以将 configchanges 更改为此:android:configChanges="orientation|keyboardHidden",但我想知道是否有另一种方法可以解决这个问题,因为我已经阅读了很多关于这个解决方法可能的问题有一些副作用。
我还尝试从 onDismiss 函数的布局中删除微调器,但我没有解决问题。:S 所以使用函数或不使用函数都不能解决问题。
这是自定义 DialogPreference 类:
android - onUserInteraction 在 DialogPreference 中不起作用
预计onUserInteraction
任何用户交互都会调用它。它在PreferenceActivity
. 但是,当 aDialogPreference
弹出时,onUserInteraction
即使有触摸事件等用户交互,也不再调用。
这似乎 DialogPreference
不是唯一的情况。无论何时Dialog
显示,它都不会将用户交互报告给活动。
但是,如果我真的需要它,我该怎么办。谢谢你。
android - Android DialogPreference 中的上下文菜单...有可能吗?
我正在尝试在DialogPreference
Android 应用程序中创建上下文菜单(如果相关,则针对 API 级别 8)。我已经设法ListView
通过轻微的黑客攻击来显示菜单(当单击 a 中的项目时),但我不知道如何处理任何生成的命令。到目前为止,我所拥有的是:
在我的
/li>onItemClick
处理程序中,我执行以下操作:
/li>ContextMenuGenerator
执行以下操作:
这会导致在正确的时间显示正确的菜单,但我不知道选择一个项目后会发生什么。我认为是在创建时onContextItemSelected(MenuItem)
调用的,但我不知道如何从那里获取我可以处理该事件的代码——我没有看到任何子类化的方式,似乎也没有办法将外部侦听器附加到它或. 还有其他我没有想到的方法吗?Dialog
DialogPreference
Dialog
ContextMenu