Нужна дополнительная информация о сохранении Arraylist

Связанный: Сохранить список ArrayList в SharedPreferences

У меня есть текст редактирования для ввода значения, кнопка для добавления его в ArrayList и сохранения, кнопка для получения и отображения значения и кнопка для сброса ArrayList. Но на кнопке сбора постоянно отображается 2.

public class test extends AppCompatActivity {

    ArrayList arrayList = new ArrayList();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.test);


        Button button = findViewById(R.id.create);
        Button button1 = findViewById(R.id.recup);
        Button button2 = findViewById(R.id.reset);
        final EditText editText = findViewById(R.id.editText);
        final TextView textView = findViewById(R.id.textView);

        //Initialize ArrayList
        loadData();

        //Button for add variable in arraylist and save
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String nombre = editText.getText().toString();
                arrayList.add(nombre);

                saveData();

            }
        });

        //Button for look arrayList.get(0)
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                textView.setText(String.valueOf(arrayList.get(0)));
            }
        });

        //Button for reset
        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                SharedPreferences sharedPreferences = getSharedPreferences("shared preferencs", MODE_PRIVATE);
                SharedPreferences.Editor editor = sharedPreferences.edit();
                editor.remove("task list");
                editor.commit();
            }
        });
    }

    //save data
    private void saveData() {
        SharedPreferences sharedPreferences = getSharedPreferences("shared preferencs", MODE_PRIVATE);
        SharedPreferences.Editor editor = sharedPreferences.edit();
        Gson gson = new Gson();
        String json = gson.toJson(arrayList);
        editor.putString("task list", json);
        editor.apply();
    }

    //load data
    private void loadData() {
        SharedPreferences sharedPreferences = getSharedPreferences("shared preferencs", MODE_PRIVATE);
        Gson gson = new Gson();
        String json = sharedPreferences.getString("task list", null);
        Type type = new TypeToken<ArrayList>() {
        }.getType();
        arrayList = gson.fromJson(json, type);

        }
    }

Не могли бы вы объяснить, почему вы получаете только нулевой индекс списка?

jjkbm 16.01.2019 00:17

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

Leic 16.01.2019 00:25

Возникла проблема с сохранением данных, около API 20, Android 5. Более поздние устройства не могут сохранять / извлекать данные. Я знаю об этом только с точки зрения конечного пользователя.

Strom 16.01.2019 03:56

Я обязан сохранить значение по значению или создать базу данных ...

Leic 16.01.2019 13:13
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
4
45
0

Другие вопросы по теме