在我的应用程序中,我使用v4支持库在带有标签的ViewPager
中显示用户首选项。
到目前为止,我正在使用一些自定义Fragment
来重现PreferenceFragment
所做的事情。
例如,有一些建议here。
将我的所有Android SDK更新到最新版本后,这些自定义Fragments
停止工作,特别是它们似乎通过反射失败了此方法调用:
static PreferenceScreen inflateFromResource(PreferenceManager manager,
Activity activity, int resId, PreferenceScreen screen) {
try {
Method m = PreferenceManager.class.getDeclaredMethod("inflateFromResource", Context.class, int.class, PreferenceScreen.class);
m.setAccessible(true);
PreferenceScreen prefScreen = (PreferenceScreen) m.invoke(manager, activity, resId, screen);
return prefScreen;
} catch (Exception e) {
Log.w(TAG, "Couldn't call PreferenceManager.inflateFromResource by reflection", e);
}
return null;
}
由于没有人可以在API中更改方法的曝光,是否仍然可以从XML文件开始创建PreferenceScreen
?