【问题标题】:Read array on sharedpreferences读取 sharedpreferences 上的数组
【发布时间】:2013-02-25 04:27:00
【问题描述】:

我使用 MultiSelectListPreference 并将值保存在数组中..

如何阅读??

    SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(this);
    Set<String> a = pref.getStringSet("tabs", null);

    for ( int i = 0; i < a.size(); i++) {
        Log.d("salida", a[i]);
    }

我得到这个错误:表达式的类型必须是数组类型,但它解析为 Set

【问题讨论】:

  • 方括号符号只适用于数组

标签: android multiselectlistpreference


【解决方案1】:

您想使用Set,由于它不是数组,所以方括号([])不能用于访问索引。

要轻松读取 Set 中的值,请使用增强的 for 循环:

for (String str: a){
  Log.d("salida", str);
}

如果您想在循环时从该 Set 中删除项目,则必须使用Iterator,如this 答案所示。

或者,如果你想要一个数组,你可以使用Set#toArray():

String [] prefStrings = a.toArray(new String[a.size()]);

然后您可以使用方括号 (prefStrings[position]) 来访问索引。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 2012-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多