Articles of android preferences

PreferenceActivity如何使用自定义首选项文件

我对偏好的第一次尝试是不了解PreferenceActivity 。 所以现在我有一个应用程序将所有用户首选项存储在特定的首选项文件中。 我想迁移到使用PreferenceActivity,但我也希望我的用户保持他们的偏好。 有没有办法告诉我的PreferenceActivity将该特定文件用于所有首选项?

Android:如何在unit testing期间重置/清除应用程序首选项?

我想从一致的测试环境开始,所以我需要重置/清除我的首选项。 这是我到目前为止测试的SetUp。 它没有报告任何错误,我的测试通过了,但是没有清除首选项。 我正在测试“MainMenu”活动,但我暂时切换到OptionScreen活动(扩展了Android的PreferenceActivity类。)我确实看到测试在运行期间正确打开了OptionScreen。 public class MyTest extends ActivityInstrumentationTestCase2 { … @Override protected void setUp() throws Exception { super.setUp(); Instrumentation instrumentation = getInstrumentation(); Instrumentation.ActivityMonitor monitor = instrumentation.addMonitor(OptionScreen.class.getName(), null, false); StartNewActivity(); // See next paragraph for what this does, probably mostly irrelevant. activity = getActivity(); SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(activity); settings.edit().clear(); settings.edit().commit(); // I am pretty sure […]

使用support.v7.preference时,首选项子屏幕无法打开

我正在尝试使用AppCompatActivity和support.v7.preference在子屏幕上实现首选项 根据文档,另一个PreferenceScreen中的每个PreferenceScreen都用作子屏幕,框架将在单击时处理它的显示。 http://developer.android.com/guide/topics/ui/settings.html#Subscreens … … … 使用本机Activity,PreferenceFragment可以正常工作……但是使用AppCompatActivity和PreferenceFragmentCompat,单击Preference元素只会突出显示它,但不会打开子屏幕。 我在这个文档和代码上找不到任何东西……我需要实现任何额外的回调吗? 编辑:只是为了完整… 这可以工作并打开子屏幕: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (savedInstanceState == null) { getFragmentManager().beginTransaction() .replace(android.R.id.content, new DemoPreferenceFragment()) .commit(); } } static public class DemoPreferenceFragment extends PreferenceFragment { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preferences); } } } 这不起作用/打开子屏幕: public […]

当其他首选项被禁用时,如何在我的Android应用程序中启用首选项?

我已经使用PreferenceActivity在我的Android应用程序中有偏好。 我想要一个偏好说“pref 2”在其他偏好说“pref 1”未被选中时被启用而“pref 2”在被检查“pref 1”时被禁用。 即与android:dependancy属性完全相反。 我怎样才能做到这一点?

Android偏好的默认值

如何获得XML中定义的Android首选项的默认值? 我不想在代码和首选项XML中重复默认值的定义。

将UI首选项“摘要”字段设置为首选项的值

Android新手,我在用户更改首选项时有一些代码我将UI首选项中的“摘要”字段更新为他们输入的值。 但是,在创建首选项活动时,我想将“摘要”字段设置为相应首选项中的值。 请指教。 谢谢。 public class MyPreferenceActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.xml.preference); SharedPreferences sp = getPreferenceScreen().getSharedPreferences(); sp.registerOnSharedPreferenceChangeListener(this); } public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { Preference pref = findPreference(key); if (pref instanceof EditTextPreference) { EditTextPreference etp = (EditTextPreference) pref; pref.setSummary(etp.getText()); } } }

安装应用程序时只运行一段代码

我想在我的应用程序中只运行一段代码,并且是第一次运行它时(新安装的应用程序)。 我怎么能这样做,任何人都可以解释给出一段代码。 实际上,在我的android项目中,我想创建数据库并在第一次运行时插入一些值。 在那之后,那段特定代码不应该再次运行。 如何通过SharedPreferences或Preferences实现此机制。 示例代码将更有帮助。

如何在Android中更改首选项类别的文本颜色?

textColor属性不起作用。 这是我的XML: 有任何想法吗?

如何动态显示和隐藏Android上的首选项?

有没有办法动态显示和隐藏首选项? 在我的情况下,我有一个checkbox首选项,可以禁用或启用2个首选项组之一(“with-”和“without-handicap”组)。 虽然这将是桌面环境中理想的GUI,但“带障碍”几乎占据整个屏幕,而另一个“无障碍”只占用屏幕的一小部分。 我不想同时显示两个组,而是一次只显示其中一个组,并在checkbox更改时动态显示或隐藏2个组。 有没有办法做到这一点?

PreferenceActivity和主题不适用

大家好我已经在清单文件中设置了这样的主题: android:theme=”@android:style/Theme.Light” 但我在首选项活动中有一个问题,在主要首选项中主题显示确定,但如果我得到一个子偏好,主题变得混乱,它不是白色应该,它是全黑的,字体是黑色,所以你看不到多少,当我开始点击任何项目,他们有时会得到白色,但不久后会恢复到黑色。 这只发生在2.1,在真实设备和仿真器中。 在运行1.6的模拟器上测试,它运行正常。 以下是首选项xml文件的代码的一部分: 这是一个截图: 替代文字http://sofzh.miximages.com/android/16hnhh3.png 有任何变通方法吗?