gpt4 book ai didi

android - 从另一个不工作的 Activity 中获取和设置 listPreference

转载 作者:太空狗 更新时间:2023-10-29 12:56:38 27 4
gpt4 key购买 nike

我正在尝试从不同的 Activity 中获取和设置 listPreference 值,但它不起作用。

当我从我的主要 Activity 中读取和写入它时,它只保留我写的任何内容,所以我假设当我离开 Activity 时我没有正确定位 listPreference 因为它在我的偏好 Activity 中工作没问题。

我在开发者网站上看到了一些对 CharSequence with getValue 和 getEntryValues 的引用,但我也没有运气让它们正常工作。

这是我的代码,用于单击按钮并设置 listpreference 值,然后它启动一个 intent 来切换 Activity :

Main Activity,试图将listpreference的值设置为第一个索引值;

        SharedPreferences settings = getSharedPreferences("PreferenceXML", 
MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();

editor.putString("ListPreferenceInXML", "1");
editor.commit();

String levelCheck = settings.getString("ListPreferenceInXML","1");

在我的下一个 Activity 中,我调用读取启动时的值以查看哪个 listPreference 处于 Activity 状态,它始终是我从上面列出的主要 Activity 中写入的数字。问题是当我转到实际的 Preference Activity 时,当我在 ListPreference 上更改它并从那里启动相同的 Activity 时它不匹配或更新(它仍然读取我从 Main Activity 按钮设置的值)

代码如下,用于尝试读取 ListPreference 的 Activity :

    SharedPreferences settings = getSharedPreferences("PreferenceXML", 
MODE_PRIVATE);

Toast.makeText(this, settings.getString("ListPreferenceInXML","1"), 1000).show();

最佳答案

所以我终于弄明白了,问题出在我调用首选项的方式上。在这两种情况下,都不要像这样调用首选项;

   SharedPreferences settings = getSharedPreferences("PreferenceXML", 
MODE_PRIVATE);

这样称呼他们:

   SharedPreferences settings = 
PreferenceManager.getDefaultSharedPreferences(getBaseContext());

我不确定第一种调用首选项的方式是否遗漏了一个步骤,但第二种方式非常有效。

关于android - 从另一个不工作的 Activity 中获取和设置 listPreference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6132712/

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