Не сохраняет значения в переменную класса
Никак не могу сохранить значения в ArrayList , уже все передумал, не знаю даже, куда двигаться.
p.s через onStart() пробовал.
public class Graps_Activity extends AppCompatActivity {
private ImageView drawingImageView;
private int x;
private int y;
// этот чертов массив не хочет хранить мои значения . ( через static пробывал )
ArrayList<Integer> arrayLines = new ArrayList<>(4);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_graps_);
Intent intent = getIntent();
String textWindowS = intent.getStringExtra("editTextS");
visibleGraph(textWindowS);
drawGraph(textWindowS);
}
private void visibleGraph(String textWindows) {
.....
}
}
private void drawGraph(String textWindows) {
......
}
}
private void drawLines(final View view){
ViewTreeObserver vto = view.getViewTreeObserver(); // view для которого будут определены координаты
vto.addOnGlobalLayoutListener (new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
view.getViewTreeObserver().removeOnGlobalLayoutListener(this);
// вот тут у меня должны сохраниться координаты точек в массив ArrayList
x = (int) (view.getLeft() + view.getRight()) / 2;
y = (int) (view.getTop() + view.getBottom()) /2;
arrayLines.add(x);
arrayLines.add(y);
// но ничего не сохраняется
}
});
}
}
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
Можно ваш массив конвертировать в set и сохранить его в sharedPreferences:
private void packagesharedPreferences() {
SharedPreferences shared = getSharedPreferences("App_settings", MODE_PRIVATE);
SharedPreferences.Editor editor = shared.edit();
Set<String> set = new HashSet<String>();
set.addAll(arrPackage);
editor.putStringSet("DATE_LIST", set);
editor.apply();
Log.d("storesharedPreferences",""+set);
}
а потом получить из памяти:
private void retriveSharedValue() {
Set<String> set = shared.getStringSet("DATE_LIST", null);
arrPackage.addAll(set);
}
Второй вариант - сохранить gson:
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
Editor editor = sharedPrefs.edit();
Gson gson = new Gson();
String json = gson.toJson(arrayList);
editor.putString(TAG, json);
editor.apply();
и прочитать потом:
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
Gson gson = new Gson();
String json = sharedPrefs.getString(TAG, "");
Type type = new TypeToken<List<ArrayObject>>() {}.getType();
List<ArrayObject> arrayList = gson.fromJson(json, type);