gpt4 book ai didi

java - SharedPreferences 没有更新其值

转载 作者:行者123 更新时间:2023-12-02 03:23:15 25 4
gpt4 key购买 nike

下面是我在保存设置功能(DialogFragment)中使用的代码 fragment :

String orderBy = mOrderBySpinner.getSelectedItem().toString();
String search = mSearchEditText.getText().toString().trim();

SharedPreferences sharedPreferences = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();

editor.putString(InventoryPreferences.ORDER_BY, orderBy);
editor.putString(InventoryPreferences.SEARCH_TERM, search);
editor.apply();

然后,我使用以下( Activity )检索该数据:

SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
String orderBy = sharedPrefs.getString(InventoryPreferences.ORDER_BY, "name ASC");
String searchTerm = sharedPrefs.getString(
InventoryPreferences.SEARCH_TERM,"").trim();

这些是我的 key :

public static final String ORDER_BY = "orderBy";
public static final String SEARCH_TERM = "search";

当 key 相同时,是否有任何原因不更新值?

最佳答案

getActivity().getPreferences(Context.MODE_PRIVATE);

不是

PreferenceManager.getDefaultSharedPreferences(this);

在两种方法中都使用第二行。

来自文档: https://developer.android.com/reference/android/app/Activity.html#getPreferences(int)

Retrieve a SharedPreferences object for accessing preferences that are private to this activity

关于java - SharedPreferences 没有更新其值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39332809/

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