java - DialogPreference 设置对话框的标题

标签 java android dialog listener preference

我有一个对话框首选项。我想设置它的对话框标题(setTitle()),但它不起作用。

我的代码:

public class RestoreDefaultApperanceDialogPreference extends DialogPreference {

    Dialog dialog;

    public RestoreDefaultApperanceDialogPreference(Context context,
            AttributeSet attrs) {
        super(context, attrs);

        dialog = getDialog();
        //dialog.setTitle("Restore default colors?"); //<- NOT WORKING!
        // TODO Auto-generated constructor stub
    }

    public RestoreDefaultApperanceDialogPreference(Context context,
            AttributeSet attrs, int defStyle) {
        super(context, attrs, defStyle);
        // TODO Auto-generated constructor stub
    }
}

XML 文件(首选项类别):

<PreferenceCategory android:title="Appearance settings">
        <com.example.dictionary.ColorSelectPreference
            android:key="onlineRecognitionColor"
            android:title="Online recognision results color" 
            android:summary="Customize color of online recognition results."
        />
        <com.example.dictionary.ColorSelectPreference
            android:key="offlineRecognitionColor"
            android:title="Offline recognition results color" 
            android:summary="Customize color of offline recognition results."
        />
        <com.example.dictionary.RestoreDefaultApperanceDialogPreference
            android:key="restoreDefaultApperance"
            android:title="Restore default apperance" 
            android:summary="Choose this option to restore default apperance settings." 
        />
 </PreferenceCategory>

如何设置此对话框的标题

最佳答案

使用setDialogTitle()并重写onDialogClosed()来捕获按钮点击并执行您的操作。

public RestoreDefaultApperanceDialogPreference(Context context,
        AttributeSet attrs) {
    super(context, attrs);

    setDialogTitle("Restore default colors?"); // <- this should work
}


@Override
protected void onDialogClosed(boolean positiveResult) {
    super.onDialogClosed(positiveResult);

    if (positiveResult) {
        // OK button is pressed
    } else {
        // Cancel button is pressed
    }
}

关于java - DialogPreference 设置对话框的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17183160/

相关文章:

java - 使用 null int 的 Gson 反序列化似乎无法正常工作

android-data binding使用方法

JavaScript 确认取消按钮不停止 JavaScript

javascript - Sweetalert 对话框不会显示

android - 来自 SQLite 数据的自定义对话框

java - 如何将 2 个文本字段和至少 3 个复选框中的 1 个绑定(bind)到按钮

java 。具有可能可抛出参数的函数(NullpointerException)?

java - 在 Stripe 中以编程方式创建优惠券代码

java - 查询集合交集

android - 将 GooglePlayServicesInterstitial 添加到 MoPub SDK