相关疑难解决方法(0)

在PreferenceActivity中使用什么而不是"addPreferencesFromResource"?

我刚刚注意到这个方法在Android的文档(参考文献)中addPreferencesFromResource(int preferencesResId)被标记为已弃用.

不幸的是,该方法的描述中没有提供替代方法.

为了将preferenceScreen.xml连接到匹配的PreferenceActivity,应该使用哪种方法?

xml android

357
推荐指数
5
解决办法
16万
查看次数

是否故意将PreferenceFragment排除在兼容性包之外?

我正在寻找可以应用于3.0和3.0之前的设备的首选项.发现PreferenceActivity包含已弃用的方法(虽然这些方法在随附的示例代码中使用),我查看PreferenceFragement了兼容性包以解决我的困境.

但是,它似乎PreferenceFragment不在兼容包中.谁能告诉我这是否是故意的?如果是这样,我可以轻松定位一系列设备(即<3.0和> = 3.0)还是我必须跳过篮球?如果没有故意排除,我们是否可以期待兼容包的新版本?或者是否有另一种可以安全使用的解决方法?

干杯

詹姆士

compatibility android android-3.0-honeycomb

153
推荐指数
6
解决办法
4万
查看次数

PreferenceActivity Android 4.0及更早版本

在ApiDemos for Android 4.0中尝试不同的首选项活动,我在代码中看到,例如,在PreferencesFromCode.java中不推荐使用某些方法.

所以我的问题是:如果我使用PreferenceFragment,它是适用于所有版本还是仅适用于3.0或4.0及更高版本?

如果是这样,我应该使用哪种适用于2.2和2.3呢?

android preferenceactivity

36
推荐指数
4
解决办法
3万
查看次数

Android:应该在哪里定义/注册OnSharedPreferenceChangeListener

设计问题基本上 - 有一个PreferenceActivity应该让它实现OnSharedPreferenceChangeListener或者应该在另一个类中定义这个功能 - 比如在内部类中?是否有人会更倾向于采用另一种方法?

还应该在哪里注册听众?我的意思是文档和常识分别要求注册/取消注册,onResume/onPause但我看到 很多 注册,onCreate我只是想知道我是否遗漏了一些东西.

此外,我不确定是否取消注册失败(因此这里例如取消注册可能不会被调用,因为onStop不能保证被调用)必然会导致泄漏.所以,如果我有

class MyPref extends PreferenceActivity implements
            OnSharedPreferenceChangeListener {
    SharedPreferences sharedPreferences;
    // init sharedPreferences
    onStart(){
        sharedPreferences.registerOnSharedPreferenceChangeListener(this);
    }
    // no unregistration
}
Run Code Online (Sandbox Code Playgroud)

MyPref一旦我回到我的其他活动,这会泄漏实例吗?

最后 - 同样的考虑适用于OnPreferenceChangeListener

编辑:回到那个我看不到实际注销的方法OnPreferenceChangeListener- 我是盲目吗?

android android-preferences

5
推荐指数
1
解决办法
1177
查看次数