Не сохраняет значения в переменную класса

Никак не могу сохранить значения в 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);
→ Ссылка