我使用下面的代码向我的 Settings.xml 添加了一个 EditTextPreference
<EditTextPreference
android:key="prefDeviceUser"
android:title="User Name"
android:summary="Please add user name." />
当我运行它时,会出现对话框,但是当我添加我的名字时它不会更新并且仍然说“请添加..”我遗漏了什么?
我使用下面的代码向我的 Settings.xml 添加了一个 EditTextPreference
<EditTextPreference
android:key="prefDeviceUser"
android:title="User Name"
android:summary="Please add user name." />
当我运行它时,会出现对话框,但是当我添加我的名字时它不会更新并且仍然说“请添加..”我遗漏了什么?
请创建您自己的 EditTextPreference。要实现您的结果,您需要覆盖 getSummary 方法。
public class EditTextPreference extends android.preference.EditTextPreference{
public EditTextPreference(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
public EditTextPreference(Context context, AttributeSet attrs) {
super(context, attrs);
}
public EditTextPreference(Context context) {
super(context);
}
@Override
public CharSequence getSummary() {
String summary = super.getSummary().toString();
return String.format(summary, getText());
}
}
然后我在preferences.xml 文件中使用新创建的EditTextPreference,总而言之,我从strings.xml 中设置值,如下所示:
android:summary="@string/string_val"
最后在 strings.xml 中看起来像这样:
请选择用户。当前设置为:%s
最后的总结是:请选择用户。当前设置为:selectedValue