我希望编写可应用于 3.0 和 3.0 之前的设备的首选项。发现 PreferenceActivity
包含不推荐使用的方法(尽管在随附的示例代码中使用了这些方法),我查看了 PreferenceFragement
和兼容性包来解决我的问题。
不过,PreferenceFragment
似乎不在兼容性包中。谁能告诉我这是不是故意的?如果是这样,我是否可以轻松定位一系列设备(即 < 3.0 和 >=3.0),还是我必须跳过箍?如果不是有意排除,我们可以期待新版本的兼容性包吗?还是有其他可以安全使用的解决方法?
干杯
詹姆斯
最佳答案
Discovering that PreferenceActivity contains deprecated methods (although these are used in the accompanying sample code)
自 Android 3.0 起,已弃用的方法已弃用。它们在所有版本的 Android 上都很好,但方向是在 Android 3.0 及更高版本上使用 PreferenceFragment
。
Can anyone tell me whether this was intentional?
我的猜测是工程时间的问题,但这只是猜测。
If so, can I easily target a range of devices (i.e. < 3.0 and >=3.0) or will I have to jump through hoops?
我认为它“容易”完成。有两个单独的 PreferenceActivity
实现,一个使用首选项 header 和 PreferenceFragments
,另一个使用原始方法。在您需要的时候选择正确的选项(例如,当用户单击选项菜单项时)。 Here is a sample project证明这一点。或者,有一个处理这两种情况的 PreferenceActivity
,如 this sample project .
If it wasn't intentionally excluded, can we expect a new release of the compatibility package?
当我们其他人发现时,您会发现,也就是说,它是否以及何时发货。
Or is there another workaround that is safe to use?
见上文。
关于android - PreferenceFragment 是否有意从兼容性包中排除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5501431/