如何加上「;“显示文本”;在Android(x)密码首选项对话框中

如何加上「;“显示文本”;在Android(x)密码首选项对话框中,android,preferences,Android,Preferences,Androidx(或Android)库中似乎没有特定的密码文本对话框 我想添加一个按钮,以便用户可以在文本视图和密码文本视图(星号而不是字母)之间切换此首选项,尽管有人可能会告诉我,将密码存储为首选项并不是一个好主意。最终我会有一个更稳健的方法,但在此期间,这就是我所拥有的 我正在使用Android Studio(慷慨地)为我提供的“偏好活动”代码。在所有其他方面,这似乎都很好,而且比我自己能应付的还要好。它只是有这个(讨厌的缺乏)功能 有点太老了,无法引用Androidx,根据我上下文的(主要

Androidx(或Android)库中似乎没有特定的密码文本对话框

我想添加一个按钮,以便用户可以在文本视图和密码文本视图(星号而不是字母)之间切换此首选项,尽管有人可能会告诉我,将密码存储为首选项并不是一个好主意。最终我会有一个更稳健的方法,但在此期间,这就是我所拥有的

我正在使用Android Studio(慷慨地)为我提供的“偏好活动”代码。在所有其他方面,这似乎都很好,而且比我自己能应付的还要好。它只是有这个(讨厌的缺乏)功能

有点太老了,无法引用Androidx,根据我上下文的(主要)相关答案,我不能在这里使用Androidx。但是,使用设置活动中的代码,我根本没有明确提到DialogPreference


那么,在这种情况下,有没有办法插入“显示”按钮,或者我应该不使用“文本密码”输入类型,或者完全重新构建此活动?

前几天我正在处理类似的事情。我没有使用“显示”按钮,只是让它从不显示密码:

input_password.setText(prefs.getYourPassword().toAsterix())

private fun String.toAsterix(): String {
   return replace("[.]", "*")
}

对于PreferenceActivity,您必须创建一个自定义视图。它将是一个编辑文本和一个按钮。点击按钮将文本设置为
prefs.getYourPassword()
prefs.getYourPassword().toAsterix()

具有“结束图标模式”功能,您可以将其设置为密码模式,然后可以切换文本是否被屏蔽。感谢@Blundell。问题似乎是将该类型的按钮“注入”到EditTextPreference视图中(如我的片段布局xml文件中定义的,虽然可能是在代码中,我的姿势)。是的,这是一点努力,但看看这个:@Markers如果你发现这有帮助,请记住向上投票或将其标记为已回答