首页 > 解决方案 > 如何向 EditTextPreference 添加消息?

问题描述

我已经扩展EditTextPreference,所以我可以自定义它:

class DeleteAccountPreference(context: Context, attrs: AttributeSet) : EditTextPreference(context, attrs) {

    override fun setDialogMessage(dialogMessageResId: Int) {
        super.setDialogMessage(R.string.delete_account_message)
    }

    override fun onBindViewHolder(holder: PreferenceViewHolder?) {
        val box = holder?.itemView as AppCompatButton
        box.text = title
        super.onBindViewHolder(holder)
    }
}

但是setDialogMessage()没有效果,对话框只显示标题:

在此处输入图像描述

这是我的 XML:

首选项.xml

<my.app.DeleteAccountPreference
    android:layout="@layout/preference_click"
    android:key="delete_account"
    android:title="Delete Account"
    android:summary="Type 'Delete' to delete your account."/>

任何想法?

标签: javaandroidxmlkotlin

解决方案


解决了。只需android:dialogMessage="Message"在xml中添加:

<my.app.DeleteAccountPreference
    android:layout="@layout/preference_click"
    android:key="delete_account"
    android:title="Delete Account"
    android:dialogMessage="Type 'Delete' to delete your account."/>

推荐阅读