如何从 SharedPreferences 在 Android 中检索字符串集

how a String Set can be retrieve in Android from SharedPreferences

我在从存储为字符串集的 sharedPreferences 中获取检索值时遇到问题。

Set<String> set = new HashSet<String>();
                set.add("Price: " + String.valueOf(item.getItemPrice()));
                set.add("Quantity: " + String.valueOf(QuantityofItem));
                set.add("Total: " + String.valueOf(BillValue));
                set.add(customizeMsg);
                set.add("Image: " + item.getItemImage());
                editor.putStringSet(item.getItemName(), set);

我的 StringSet 包含这 5 个值,我想检索存储的数据并检索为列表视图。有什么方法可以执行吗?

i have a problem to getting retrieve values from sharedPrefrences that stored as a String Set.

除非你commit()apply()editor,否则你的数据将不会被保存。

i want to retrieve that stored data

SharedPreferences 上调用 getStringSet(),传入您正在使用的任何密钥(此处为 item.getItemName())。

retrieve as a list view

欢迎您从 Set<String> 元素中创建一个 ArrayList,然后将其包装在 ArrayAdapter 中,然后将 ArrayAdapter 放入 [=20] =].

I want to retrieve that stored data and retrieve as a list view.

#. 我猜您正在尝试将存储的 Set 数据检索为 ArrayList。使用以下代码将 Set 检索为 ArrayList :

SharedPreferences sharedPreferences = context.getSharedPreferences(SHARED_PREF_NAME, Context.MODE_PRIVATE);

// Set
Set<String> set = sharedPreferences.getStringSet(KEY_ITEM_NAME, new HashSet<String>());

// List
ArrayList<String> list = new ArrayList<String>(set);

#. 如果您在 SharedPreferences 中存储了多个 Set,则对其他人执行相同的操作。使用 KEY_ITEM_NAME 值作为 item.getItemName().

获得 Set

#. 如果您想在 ListView 上显示它,请按照 @CommonsWare

描述的步骤操作