android - PreferenceFragment 是否有意从兼容性包中排除?

标签 android compatibility android-3.0-honeycomb

我希望编写可应用于 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/

相关文章:

Android - 从WebView保存数据

android - Google Drive API await() UI 线程错误

compatibility - Berkeley Db 4 及更高版本兼容性

java - 为什么 textview 中的换行符会导致换行符缩进?

android - 此 RelativeLayout 布局或其 LinearLayout 父级无用

javascript - 需要 Android 或 Iphone 移动设备后退按钮单击事件在 javascript 或 jquery

android - 带有兼容包的 fragment 和 > hive

javascript - 建立一个依赖 javascript 的网站仍然是不好的做法吗?

android_getCpuFeatures 在 Honeycomb 上崩溃

android - 在 Android 设备上禁用外部存储