Нужно более подробно о сохранении архива - PullRequest
0 голосов
/ 16 января 2019

Похожие: Сохранить 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);

        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...