Articles of 首选项

以编程方式定义默认活动(当应用程序启动时)

我的应用程序由几个活动组成。 活动A是我的一些图标的主菜单。 此活动可以启动,具体取决于您按哪个图标:活动B,C,D,E或F. 这很好,很容易,活动A是默认的。 现在,我优先select允许用户开始他们最喜欢的活动。 一些用户实际上更喜欢直接获取Activity B。 我find一个解决scheme的唯一方法是在Activity A中这样做。这个解决scheme非常难看,因为Activity A总是会自动启动和closures: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); settings = PreferenceManager .getDefaultSharedPreferences(getBaseContext()); final Intent intent = getIntent(); String action = intent.getAction(); if (Intent.ACTION_MAIN.equals(action)) { switch (Integer.valueOf(settings.getString("Activitypref", "1"))) { case 2: Intent i = new Intent(ActivityA.this, ActivityB.class); finish(); startActivity(i); break; case 3: i = new Intent(ActivityA.this, ActivityC.class); finish(); […]

从preferences.xml开始一个活动

我试图去在设置屏幕上find – android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS 从我的偏好活动入口,但没有运气。 目前,按下该条目只是刷新了我所在的屏幕。 我的preferences.xml如下所示: <Preference android:title="@string/my_location_settings"> <intent android:action="android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS"> </intent> </Preference> 我的清单条目如下所示: <activity android:name=".Preferences"> <intent-filter> <action android:name="android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> </activity> 我究竟做错了什么? logcat的: 12-11 15:53:34.170: INFO/ActivityManager(173): Starting activity: Intent { act=android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS cmp=com.my.app/.Preferences } 12-11 15:53:34.400: INFO/ActivityManager(173): Displayed activity com.my.app/.Preferences: 229 ms (total 229 ms) performance: <?xml version="1.0" encoding="utf-8"?> <activity android:name=".ViewActivity" android:label="@string/app_name"> <intent-filter> […]

从首选项活动启动活动会导致权限拒绝exception

我在这里遇到了一些问题。 我想要做的是从PreferenceActivity中启动一个Activity。 所以我的preference.xml保存偏好布局看起来像这样: <Preference android:title="Launch Activity" > <intent android:action="org.momo.SOME_ACTIVITY" /> </Preference> 清单知道我想要启动的活动 <activity android:label="@string/app_name" android:name="SomeActivity"> <intent-filter> <category android:name="android.intent.category.DEFAULT" /> <action android:name="org.momo.SOME_ACTIVITY" /> </intent-filter> </activity> 猜猜看,当我想启动它时,我得到一个安全exception(Permission Denial)。 我错过了什么吗? 我对意图的理解还有点不完整,但我认为它必须以这种方式工作。 感谢您的任何帮助!

在Android 4中更改偏好项目摘要文字颜色

我有下面的首选项的示例 <CheckBoxPreference android:key="chkSound" android:summary="Sound is Off" android:title="Sound" /> 我使用res / values中的主题来更改“摘要”文本颜色 <style name="ThemeDarkText"> <item name="android:textColor">#000000</item> </style> 而在代码中,我写这行 setTheme(R.style.ThemeDarkText); 它在Android 2.1中工作正常,但是当我试图在不同的操作系统(例如Android 4.0)上运行它时,它并没有改变摘要文本颜色只是标题颜色。 任何帮助?

如何设置edittext首选项摘要并将其粘贴

我已经回到了第四名,我只是无法得到它。 我正在使用首选项片段设置我的设置。 我可以使设置工作,甚至可以在更改时更新“摘要”。 但是,如果我离开设置屏幕并回到它,总结回到默认文本。 所以问题是,当使用edittext首选项。 你如何更新总结,以显示用户改变设置,并使其closures屏幕和应用程序坚持? 在这种情况下,当我的用户更改mse_ip时,摘要将更改为“MSE IP xxxx”,但是一旦离开设置屏幕并返回,就会返回到设置为@ string / mseip的“0.0.0.0”。 的preferences.xml <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <EditTextPreference android:key="mse_ip" android:title="MSE IP" android:summary="@string/mseip" android:defaultValue="0.0.0.0" android:dialogTitle="IP Address for mse" /> <EditTextPreference android:key="mse_username" android:title="Username" android:summary="MSE Username %s" android:defaultValue="Admin" android:dialogTitle="Username for mse" /> <EditTextPreference android:key="mse_password" android:title="MSE Password" android:password="true" android:summary="******" android:defaultValue="Admin" android:dialogTitle="Password for mse" /> </PreferenceScreen> preferencesfragment package com.hmkcode.android; […]

Android – 我应该继续使用PreferenceActivity?

我的应用程序支持从2.2到Android版本。 事情是,对于设置页面,我现在使用PreferenceActivity。 但是,正如你所知道的,它的许多方法已经被废弃了,他们告诉我使用基于Fragment的设置。 然而,我发现如果我改用PreferenceFragment和Fragment Activity,我不能再支持2.2和2.3了,因为PreferenceFragment被支持在API级别11之上。即使我使用支持库,它也不包含PreferenceFragment! 我不知道Google为什么没有在支持库中添加PreferenceFragment。 无论如何,我想我仍然可以使用旧的PreferenceActivity,但如果它说已经被弃用,为什么它不支持在其支持库中的替代品? 任何build议表示赞赏!

偏好改变听众

我已经阅读了这个有用的文章: SharedPreferences.onSharedPreferenceChangeListener不被一致调用 但是我没有运气。 我正在尝试创build一个在服务中运行的OnSharedPreferenceChangeListener。 一切正常实施,但听众并不总是触发。 public MyServiceOne extends Service { public SharedPreferences mSharedPreferences; // Listener defined by anonymous inner class. public OnSharedPreferenceChangeListener mListener = new OnSharedPreferenceChangeListener() { @Override public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { Log.d("debug", "A preference has been changed"); } }; @Override public void onCreate() { mSharedPreferences = getSharedPreferences(MySharedPreferences.NAME, Context.MODE_PRIVATE); mSharedPreferences.registerOnSharedPreferenceChangeListener(mListener); } @Override […]

NullPointerException在android.widget.ArrayAdapter.createViewFromResource

我正在创build一个首选活动的应用程序,其中的列表首选项是有问题的分配。 此应用程序在我的模拟器上正常工作,但是当我在移动设备上testing我的应用程序时,它显示这样的错 FATAL EXCEPTION: main java.lang.NullPointerException at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:394) at android.widget.ArrayAdapter.getView(ArrayAdapter.java:362) at android.widget.AbsListView.obtainView(AbsListView.java:2033) 当我点击我的手机中的列表首选项时出现此问题。 这里是我的代码 prference.xml <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory android:title="@string/settings"> <ListPreference android:key="@string/resolution" android:title="@string/imageres" android:summary="@string/summaryres" android:dialogTitle="@string/resFormat" /> </PreferenceCategory> </PreferenceScreen> settings.java package com.example; import android.database.Cursor; import android.os.Bundle; import android.preference.ListPreference; import android.preference.PreferenceActivity; public class Settings extends PreferenceActivity { private SQLiteoperations SQLiteAdapter; DTO get; @Override public void onCreate(Bundle savedInstanceState) { […]

处理保存在Android中的偏好的价值?

我需要encryption我的密码,然后将其保存到本地android数据库。 一切工作正常,没有encryption,我有preferences.xml等等。 如何在更改首选项的值(例如,密码) 后调用函数? 这是我的代码: public class Preferences extends PreferenceActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); // Get the custom preference Preference customPref = (Preference) findPreference("pass"); customPref.setOnPreferenceChangeListener(new OnPreferenceChangeListener(){ @Override public boolean onPreferenceChange(Preference preference, Object newValue) { String crypto = SimpleCrypto.encrypt("MYSECRETKEY", newValue.toString()); // encrypt // Here is where I'm wrong, I guess. SharedPreferences […]

将button添加到PreferenceFragment

我想在首选项屏幕的底部添加一些button来设置默认值并恢复默认值。 这个答案不包括如何使用PreferenceFragment做到这一点。 推荐的方法是什么? 加载首选项片段的活动: public class SettingsActivity extends Activity { @Override public void onCreate( Bundle savedInstanceState) { super.onCreate( savedInstanceState); // load up the preferences fragment getFragmentManager().beginTransaction().replace( android.R.id.content, new PrefsSettingsFragment()).commit(); } } PreferenceFragment实现: public class PrefsSettingsFragment extends PreferenceFragment { @Override public void onCreate( Bundle savedInstanceState) { super.onCreate( savedInstanceState); addPreferencesFromResource( R.xml.preferences); } } 的preferences.xml: <?xml version="1.0"?> <PreferenceScreen […]