gpt4 book ai didi

android - PreferenceCategory 自动重置行为中的奇怪 SwitchPreference

转载 作者:太空宇宙 更新时间:2023-11-03 11:17:16 25 4
gpt4 key购买 nike

几天前,我向现有的 Android 应用程序添加了一个新的 SwitchPreference。一切似乎都很好,直到我遇到一个非常奇怪的问题 - 当向上滚动设置屏幕时 - 切换首选项会自动重置!

当查看切换监听器的日志时 - 用户似乎已恢复设置!此时,我试图隔离问题,并删除了不必要的代码。

这是简化的代码:

public class NewSettingsActivity extends PreferenceActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings_screen);
}
}

这是 xml:

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="bugger">
<SwitchPreference
android:title="BUGGER"
android:key="cxyz" />
</PreferenceCategory>

<PreferenceCategory android:title="blabla">
<Preference android:title="some1" android:key="some11" />
<Preference android:title="some2" android:key="some12" />
<Preference android:title="some3" android:key="some13" />
<Preference android:title="some11" android:key="some41" />
<Preference android:title="some12" android:key="some51" />
<Preference android:title="some13" android:key="some16" />
<Preference android:title="some14" android:key="some17" />
<Preference android:title="some15" android:key="some18" />
<Preference android:title="some16" android:key="some19" />
<Preference android:title="some18" android:key="some199" />
</PreferenceCategory>

<PreferenceCategory android:title="testtest">
<SwitchPreference
android:title="BUGGEE"
android:key="d" />
</PreferenceCategory>

</PreferenceScreen>

此时我意识到 - 当 SwitchPreference 隐藏在 View 下时它会被重置,并且会显示另一个 SwitchPreference!

为了对其进行调试,我实现了 MySwitchPreference,它扩展了 SwitchPreference 并记录了调用的每个公共(public)/ protected 方法,但不幸的是(?) - 这只是解决了问题! :)

所以我有一个旁路,但这种行为非常有趣。有没有人遇到过类似的情况?

谢谢!

最佳答案

answer is available here它被标记为 Released on the Android bug tracker (固定在 Lollipop 中)。

Joe 的解决方法是扩展 SwitchPreference 类并在您的 View 中使用该扩展。我会进一步总结他的解决方法,但他上面链接的帖子已经非常简洁了。

关于android - PreferenceCategory 自动重置行为中的奇怪 SwitchPreference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14559238/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com