Questions tagged «android-preferences»

30
如何在“首选项”摘要中显示Android首选项的当前值?
这必须经常出现。 当用户在Android应用中编辑首选项时,我希望他们能够在Preference摘要中看到当前设置的首选项值。 示例:如果我有“丢弃旧邮件”的“首选项”设置,该设置指定需要清理的天数。在中,PreferenceActivity我希望用户看到: “舍弃旧邮件” <-标题 “ x天后清除消息” <- 摘要,其中x是当前的首选项值 额外的功劳:使其可重用,因此无论类型如何,我都可以轻松地将其应用于我的所有首选项(以便与EditTextPreference,ListPreference等一起使用,而只需很少的编码即可)。

8
SharedPreferences.onSharedPreferenceChangeListener未被一致调用
我正在这样注册一个偏好设置更改监听器(在onCreate()我的主要活动中): SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this); prefs.registerOnSharedPreferenceChangeListener( new SharedPreferences.OnSharedPreferenceChangeListener() { public void onSharedPreferenceChanged( SharedPreferences prefs, String key) { System.out.println(key); } }); 麻烦的是,监听器并不总是被调用。它会在前几次更改首选项时起作用,然后在我卸载并重新安装该应用程序之前不再调用它。重新启动应用程序似乎无济于事。 我发现一个邮件列表线程报告了同样的问题,但是没有人真正回答他。我究竟做错了什么?


10
如何在PreferenceScreen中添加按钮?
我刚接触Android开发,刚遇到偏好设置。我发现PreferenceScreen并想用它创建一个登录功能。我唯一的问题是我不知道如何在上添加“登录”按钮PreferenceScreen。 这是我的PreferenceScreen样子: <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> ... <PreferenceScreen android:title="@string/login" android:key="Login"> <EditTextPreference android:persistent="true" android:title="@string/username" android:key="Username"></EditTextPreference> <EditTextPreference android:title="@string/password" android:persistent="true" android:password="true" android:key="Password"></EditTextPreference> </PreferenceScreen> ... </PreferenceScreen> Button应该在两个EditTextPreferences的正下方。 有没有解决此问题的简单方法?我发现的一个解决方案由于我使用sub PreferenceScreens 而无法正常工作。 更新: 我发现我可以这样添加按钮: <PreferenceScreen android:title="@string/login" android:key="Login"> <EditTextPreference android:persistent="true" android:title="@string/username" android:key="Username"></EditTextPreference> <EditTextPreference android:title="@string/password" android:persistent="true" android:password="true" android:key="Password"></EditTextPreference> <Preference android:layout="@layout/loginButtons" android:key="loginButtons"></Preference> </PreferenceScreen> 布局文件(loginButtons.xml)如下所示: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_height="wrap_content" android:layout_width="fill_parent" …

5
Android首选项onclick事件
在我的preferences.xml中,我具有如下所示的preference元素: <Preference android:title="About" /> 我想分配onClick事件,因此如果用户单击它,则可以打开new Intent或浏览器。我试图像使用按钮一样进行操作,但这似乎不起作用。



6
如何在Android中卸载应用程序时删除共享首选项
我有一个android应用程序,可以通过Thats保存登录详细信息(例如用户名和密码)SharedPreferences,但是我需要在SharedPreferences卸载应用程序时删除所有使用的信息。怎么做? SavePreferences("one ", ""); SavePreferences("two", ""); LoadPreferences(); private void SavePreferences(String key, String value){ sharedPreferences = getSharedPreferences("TEST", MODE_PRIVATE); SharedPreferences.Editor editor = sharedPreferences.edit(); editor.putString(key, value); editor.commit(); } private void LoadPreferences(){ sharedPreferences = getSharedPreferences("TEST", MODE_PRIVATE); String strSavedMem1 = sharedPreferences.getString("MEM1", ""); String strSavedMem2 = sharedPreferences.getString("MEM2", ""); } 我要在SharedPreferences卸载应用程序时删除它。

8
如何收听PreferenceFragment中的首选项更改?
如上所述这里,我继承PreferenceFragment并显示它的活动中。该文档仅在您将PreferenceActivity子类化的情况下说明了如何在此处侦听首选项更改。由于我没有这样做,我该如何收听偏好更改? 我尝试在我的PreferenceFragment中实现OnSharedPreferenceChangeListener,但它似乎不起作用(onSharedPreferenceChanged似乎从未被调用)。 到目前为止,这是我的代码: SettingsActivity.java public class SettingsActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // Display the fragment as the main content. getFragmentManager().beginTransaction().replace(android.R.id.content, new SettingsFragment()).commit(); } } SettingsFragment.java public class SettingsFragment extends PreferenceFragment implements OnSharedPreferenceChangeListener { public static final String KEY_PREF_EXERCISES = "pref_number_of_exercises"; @Override public void onCreate(Bundle …


9
PreferenceScreen中的TimePicker
我想创建一个名为的首选项字段Interval,我希望能够弹出一个TimePicker并设置一个mm:ss以最小的值00:30和30秒的步长格式化的值。 是否有可能使用TimePicker的PreferenceScreen?

4
如何在Android中使用getSharedPreferences
我有一个必须执行“登录”活动的应用程序。我有这些组成部分: EditText用户名 EditText密码 按钮登录 按钮取消 我希望我的应用程序在用户登录后记住用户的登录详细信息,直到用户按下“注销”按钮为止。我没有在xml中使用首选项。 如何使getSharedPreferences(字符串名称,整数模式)在我的应用程序中工作?


2
如何检测是否对首选项进行了更改?
我有一个扩展PreferenceActivity并显示我的应用程序首选项屏幕的类。是否可以检查是否对首选项进行了任何更改? 这有帮助... http://developer.android.com/reference/android/content/SharedPreferences.OnSharedPreferenceChangeListener.html 其他相关文章: SharedPreferences.onSharedPreferenceChangeListener未被一致调用 public class PreferenceClass extends PreferenceActivity { OnSharedPreferenceChangeListener listener; public void onCreate(Bundle savedInstanceState) { SharedPreferences prefs = this.getSharedPreferences("settings", 0); listener = new SharedPreferences.OnSharedPreferenceChangeListener() { public void onSharedPreferenceChanged(SharedPreferences prefs, String key) { int flag = 1; } }; prefs.registerOnSharedPreferenceChangeListener(listener); super.onCreate(null); addPreferencesFromResource(R.xml.settings); } }

5
尝试使用SharedPreferences存储字符串集时的行为不当
我正在尝试使用SharedPreferencesAPI存储一组字符串。 Set<String> s = sharedPrefs.getStringSet("key", new HashSet<String>()); s.add(new_element); SharedPreferences.Editor editor = sharedPrefs.edit(); editor.putStringSet(s); edit.commit() 我第一次执行上面的代码时,s设置为默认值(刚创建的结尾为empty HashSet),并且存储时没有问题。 第二次和下一次执行此代码时,将s返回一个对象,并添加第一个元素。我可以添加该元素,并且在程序执行期间,该元素显然存储在中SharedPreferences,但是当程序被杀死时,SharedPreferences将从其持久性存储中再次读取并丢失较新的值。 如何存储第二个以及之后的元素,以免丢失?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.