据我所知,从文档中可以看出,作为Android Studio模板的设置活动应该有效。但是,它似乎无法在手机上启动任何内容。
我知道它适用于平板电脑和手机。 我正在运行Android 5.0,之前我已成功将其用作测试设备。 我还没有在平板电脑上测试它。
好吧,我使用android studio提供的默认模板进行设置活动。我没有发布它,因为它扩展到几个页面(5个xml文件和1个类文件)。
http://www.pastebin.com/kehbMSqg -SettingsActivity.class。 (那是我设定推出的课程。)
http://pastebin.com/GHjZRn68 -pref_data_sync.xml
http://pastebin.com/0FaaH8zR -pref_general.xml
http://pastebin.com/yixMwAaJ -pref_headers.xml
http://pastebin.com/46W1dREG -pref_notification.xml
任何帮助都会有用 谢谢!
答案 0 :(得分:0)
这可能与在KITKAT中修补的fragment injection vulnerability的修复有关。如果您从KITKAT开始运行targetSdkVersion的应用程序,则当SettingsActivity尝试启动PreferenceFragment时将抛出异常。
您需要覆盖PreferenceActivity.isValidFragment()
方法。对于Android Studio 1.3.2中的“设置活动”模板,您可以使用:
@Override
protected boolean isValidFragment(String fragmentName) {
return fragmentName.equals(GeneralPreferenceFragment.class.getName())
|| fragmentName.equals(NotificationPreferenceFragment.class.getName())
|| fragmentName.equals(DataSyncPreferenceFragment.class.getName());
}
相关的stackoverflow帖子: isValidFragment Android API 19