1

我已将 Set 放入 sharedpreferences 中:

Set<String> bodyClick = new HashSet<String>();
String panelMarked = new Boolean(panel.marked).toString();

String[] click = {panel.name,panelMarked,clickTimes};

String clickBody = Arrays.toString(click);

bodyClick.add(clickBody);

sharedEditor.putStringSet("click", bodyClick);

这就是我得到它的方式:

Set<String> click = preferences.getStringSet("click", new HashSet<String>());

if(click != null){

    Iterator<String> iterator = click.iterator();

    while(iterator.hasNext()){
        String id = iterator.next();
    }   
}

例如,这是在字符串中:[左后挡泥板,假,0]

到目前为止一切正常并且工作正常。

但现在我想为他自己的每个元素。如何在字符串中获取“左后挡板”,在字符串中获取“false”,在字符串中获取“0”?

有人可以发布一些代码吗?

4

2 回答 2

1

我知道了 :)

我的解决方案:

Set<String> click = preferences.getStringSet("click", new HashSet<String>());

if(click != null){

    Iterator<String> iterator = click.iterator();

    while(iterator.hasNext()){

        String id = iterator.next();

        int start = id.indexOf("[") + 1;
        int end = id.indexOf("]")-1;

        String items = String.copyValueOf(id.toCharArray(), start, end);

        String[] ary = items.split(",");
    }
}
于 2013-09-05T12:19:00.770 回答
0

为什么不使用字符串 [Split?][1]

String id = iterator.next();
id = id.substring(1, id.length()-1)
String[] parts = id.split(",");
String part1 = parts[0]; // Left Near fender
String part2 = parts[1]; // false
于 2013-09-05T11:42:41.197 回答