【问题标题】:Android Studio Settings Activity doesn't workAndroid Studio 设置活动不起作用
【发布时间】:2015-02-23 16:36:17
【问题描述】:

据我从文档中了解到,作为 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

任何帮助都会很有用 谢谢!

【问题讨论】:

  • 代码? Logcat 怎么样?
  • 每当您在 SO 上提出问题时,如果您遇到任何错误,也可以在 logcat 中编写相关代码

标签: android xml user-interface


【解决方案1】:

这可能与在 KITKAT 中修补的 fragment injection vulnerability 的修复有关。如果您从 KITKAT 开始为 targetSdkVersion 运行应用程序,则当 SettingsActivity 尝试启动 PreferenceFragment 时将引发异常。

您需要覆盖PreferenceActivity.isValidFragment() 方法。对于 Android Studio 1.3.2 中的 Settings Activity 模板,您可以使用:

@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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-02-20
    • 2018-04-12
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多