- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
尝试编写自定义对话框首选项(NumberPickerDialog
)。尽管 android 文档详细介绍了这个主题,但我似乎错过了他们文档中的一些基本构建 block 。
到目前为止,我所拥有的是一个显示在设置 Activity 中的自定义首选项对话框。我可以单击首选项并填写一个值,然后按确定/取消。
自定义布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/editTextNumberPickerValue"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</LinearLayout>
NumberPickerDialog(进行中...):
public class NumberPickerPreference extends DialogPreference {
public NumberPickerPreference(Context context, AttributeSet attrs) {
super(context, attrs);
setDialogLayoutResource(R.layout.numberpicker_dialog);
setPositiveButtonText(android.R.string.ok);
setNegativeButtonText(android.R.string.cancel);
setDialogIcon(null);
setPersistent(false);
}
@Override
protected void onBindDialogView(View view) {
super.onBindDialogView(view);
}
@Override
protected void onDialogClosed(boolean positiveResult) {
if (positiveResult) {
Editor editor = getEditor();
persistInt( value??? );
}
}
}
Preference.xml 扩展为:
<com.cleancode.utils.numberpickerpreference.NumberPickerPreference
android:defaultValue="550"
android:key="prefLongFlashDuration"
android:summary="@string/long_flash_duration_summary"
android:title="@string/long_flash_duration" />
我怎样才能:
我希望有人能对此有所启发,可怜的 Android 文档在这个主题上并不是一个新的友善的人。
非常感谢。
最佳答案
在 Google 的文档中,他们对包含 新值(value)
In this example,
mNewValue
is a class member that holds the setting's current value.
因此看来您必须依赖成员字段来跟踪包含您的新值的 View 。我是这样解决的
private EditText newPasswordField;
@Override
protected void onBindDialogView(View view) {
super.onBindDialogView(view);
newPasswordField = view.findViewById(R.id.new_password_field);
}
所以基本上,您重写了一个方法,该方法可以让您保留对包含新设置值的任何元素的引用
然后你做你已经拥有的:提取新值
@Override
protected void onDialogClosed(boolean positiveResult) {
Log.i(TAG, "Password dialog closed. Result = " + positiveResult);
if (positiveResult) {
persistString(newPasswordField.getText().toString());
}
}
关于java - 从自定义 DialogPreference 中检索值并保存值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18867649/
我有一个 DialogPreference。我想设置它的对话框标题 (setTitle()),但它不起作用。 我的代码: public class RestoreDefaultApperanceDia
我想要完成的事情:在 DialogPreference 显示的消息文本中创建一个可点击的超链接。 到目前为止我的解决方案:关注此主题:link ,我完成了在 DialogPreference 中显示的
我正在尝试创建自定义对话框首选项,它将包含带有两个单选按钮和一个编辑文本的单选组。如果我写类似 尝试创建包含此对话框首选项的 PreferenceActivity 时应用程序中断。 我想我必须将 D
我在我的 Android 应用程序中创建了一个自定义对话框首选项,但我无法弄清楚如何让显示的对话框跨越显示器的整个宽度。 image of dialog with too much space on
我正尝试按如下方式创建对话框首选项 但是当 Activity 运行时它强制关闭并出现以下错误 11-01 01:21:18.820: E/AndroidRuntime(19644): java.la
我有一个这样定义的类 public class MyDialog extends DialogPreference { 并在 preference.xml 中 我的问题是如何以编程方式启动 MyDi
我创建了扩展 DialogPreference 的新 TimeDialogPreference。 在 preferences.xml 我有: 如何从 TimeDialogPreference 类访问
我想在第一次启动应用程序时打开一些首选项(通过扩展 DialogPreference 创建)。此外,这些首选项用作通常的首选项。 有没有办法做到这一点? 编辑: 我有我的自定义偏好,如下所示: pub
我正在开发自定义 DialogPreference。 当用户在对话框外单击时,它会被取消,我需要避免这种情况。 我知道 Dialog 有方法 setCanceledOnTouchOutside(boo
我有一个自定义的 DialogPreference,它只包含一个日期选择器。一切正常,除了对话框有一个巨大的边框和标题,如下所示。 我希望对话框只是日期选择器: 我已经想出了如何通过将窗口标题设置为
我的首选项 Activity 中有一个对话框,定义如下(布局在 xml 中定义): public class DialogPreference extends android.preference.D
我在我的程序中使用 DialogPreference,现在我想使用 DialogPreference 在单击 OK 按钮时重定向到网页。 Preferences.xml:- TimePicke
我根据 this link. 的回答创建了自定义首选项对话框 现在我想在我的 ActivityPreferenceScreen Activity 类中的那个按钮上单击事件。我怎样才能做到这一点? 最佳
我希望我的程序存储远程服务的凭据,这样用户只需在首选项中设置一次就再也不会这样做了。 因此,我将 DialogPreference 子类化,我的类显示了一个漂亮的对话框,其中包含两个用于登录和密码的字
我目前有一个扩展 DialogPreference 的自定义 Dialog 类(这当然是 PreferenceScreen 的一部分)。 此对话框具有处理保存和取消的自定义按钮。因此,我想去掉标准的“
我正在尝试在首选项布局中实现 DialogPreference。不幸的是,下面的代码总是导致强制关闭。 EditTextPreferences 运行良好,但我需要一个简单的对话框。有什么建议吗? 最
尝试编写自定义对话框首选项(NumberPickerDialog)。尽管 android 文档详细介绍了这个主题,但我似乎错过了他们文档中的一些基本构建 block 。 到目前为止,我所拥有的是一个显
我有一个用于 SeekBar 的自定义 DialogPreference。我覆盖 style="@style/Theme.Putio.Dialog" 并从 XML 扩展布局。 问题是,生成的对话框使用
我有一个 DialogPreference,我想避免用户在按“确定”、“取消”等键时关闭它。 我应该怎么做? 编辑: 我试图在创建对话框时触及“确定”按钮以禁用它。但是我做不到:( 最佳答案 解决方法
在我的应用程序中,我使用 Theme.Holo 和 Theme.Holo.Light 没有任何问题。当使用 Holo 主题并且我单击 DialogPreference/ListPreference 时
我是一名优秀的程序员,十分优秀!