以不同的单位显示Android首选项
我有一个Android首选项活动,其中布局直接连接到我的引用键/值对,例如:以不同的单位显示Android首选项,android,android-layout,android-preferences,Android,Android Layout,Android Preferences,我有一个Android首选项活动,其中布局直接连接到我的引用键/值对,例如: <EditTextPreference android:key="timeout" android:defaultValue="timeout" android:title="Timeout" android:summary="Timeout (ms)" android:dialogTitle="Timeout (ms)" /> 那么-在以毫秒为单位存储值
<EditTextPreference
android:key="timeout"
android:defaultValue="timeout"
android:title="Timeout"
android:summary="Timeout (ms)"
android:dialogTitle="Timeout (ms)" />
那么-在以毫秒为单位存储值的同时,更改首选项的显示功能的最佳方法是什么呢?我认为,android正在使用该方法保存
EditTextPreference
的值。因此,您可以使用自定义视图扩展EditTextPreference
并修改setText()
。。。如果成功,这将是一个伟大的把戏!给我几个小时,我会向你汇报你的解决方案非常有效。在保存/显示该值之前,只需覆盖setText(和getText)即可更改该值。您还需要添加onDefaultPreferenceSet(类似的东西),因为这将调用setText,在这种情况下您不希望进行任何调整。
SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(ctx);
String s = settings.getString("timeout", ctx.getString(R.string.timeout));