I SharedPreference trying to get data from SharedPreference whole pack by key, but I cannot convert the result to String[]
java.lang.ClassCastException: java.lang.String cannot be cast to java.util.Set String[] codeValues; I do this:
private void loadCode() { preferences = getPreferences(MODE_PRIVATE); Set<String> codes = preferences.getStringSet("codes", new HashSet<String>()); codeValues = codes.toArray(new String[codes.size()]); Toast.makeText(this, "Text loaded", Toast.LENGTH_SHORT).show(); } Tried it like this:
private void loadCode() { preferences = getPreferences(MODE_PRIVATE); Set<String> codes = preferences.getStringSet("codes", new HashSet<String>() { @Override public int size() { return 0; } @Override public boolean isEmpty() { return false; } @Override public boolean contains(Object o) { return false; } @NonNull @Override public Iterator<String> iterator() { return null; } @NonNull @Override public Object[] toArray() { return new Object[0]; } @NonNull @Override public <T> T[] toArray(T[] a) { return null; } @Override public boolean add(String s) { return false; } @Override public boolean remove(Object o) { return false; } @Override public boolean containsAll(Collection<?> c) { return false; } @Override public boolean addAll(Collection<? extends String> c) { return false; } @Override public boolean retainAll(Collection<?> c) { return false; } @Override public boolean removeAll(Collection<?> c) { return false; } @Override public void clear() { } }); codeValues = codes.toArray(new String[codes.size()]); Toast.makeText(this, "Text loaded", Toast.LENGTH_SHORT).show(); }