当前位置:  开发笔记 > 编程语言 > 正文

Android首选项活动IllegalArgumentException:此活动的无效片段

如何解决《Android首选项活动IllegalArgumentException:此活动的无效片段》经验,为你挑选了1个好方法。

我的偏好活动有问题.我创建了偏好屏幕和一个偏好活动.在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);
        }
    }

这个可以吗?或者这样做是危险的吗?



1> Nikita G...:

枚举所有首选片段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


    
        
    

推荐阅读
刘美娥94662
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有