我的偏好活动有问题.我创建了偏好屏幕和一个偏好活动.在Android 4.2.2的手机上,它运行正常.但是在使用Android 5.0的Android Emulator上,它崩溃了这个错误:IllegalArgumentException: Invalid fragment for this activity.
这是因为这段代码吗?:
@Override protected boolean isValidFragment(String fragmentName) { return MyPreferenceFragment.class.getName().equals(fragmentName); }
第二个首选项片段是MyExportPreferenceFragment ...如何将它们与一个活动一起使用?
谢谢你的帮助
//编辑:找到一个解决方案,但也许它太hacky ^^
@Override protected boolean isValidFragment(String fragmentName) { if(MyPreferenceFragment.class.getName().equals(fragmentName)) { return MyPreferenceFragment.class.getName().equals(fragmentName); } else { return MyExportPreferenceFragment.class.getName().equals(fragmentName); } }
这个可以吗?或者这样做是危险的吗?
枚举所有首选片段isValidFragment
MySettingsActivity.class
@Override protected boolean isValidFragment(String fragmentName) { return Fragment1.class.getName().equals(fragmentName) || Fragment2.class.getName().equals(fragmentName) || Fragment3.class.getName().equals(fragmentName) || Fragment4.class.getName().equals(fragmentName) || Fragment5.class.getName().equals(fragmentName); }
Headers.xml
的preferences.xml