Date в TextView и сохранение в Preferences

Пробую сохранить список дат. Но работает не правильно при первом запуске activity выводит date сохраняю и можно вывести. но если стираю то уже не выводится даже после перезагрузки. Все перепробовал не пойму как сделать. И еще как добавить несколько textviev с date d Preferences. Заранее спасибо


import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;

import java.text.SimpleDateFormat;

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

    private SharedPreferences MsharedPrefs;
    private TextView Vilup2;
    private TextView Vilup4;

    public static final String myPrefs2 = "myprefs";
    public static final String nameKey2 = "nameKey";


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



        Vilup2 = (TextView) findViewById(R.id.datatext);
        long date1 = System.currentTimeMillis()+ (7 * 86400000);
        SimpleDateFormat sdf = new SimpleDateFormat ("dd MMM yyyy");
        String dateV = sdf.format(date1);
        Vilup2.setText(dateV);

        Vilup4 = (TextView) findViewById(R.id.textView2);
        long date2 = System.currentTimeMillis()+ (2 * 86400000);
        SimpleDateFormat sdt = new SimpleDateFormat ("dd MMM yyyy");
        String datef = sdt.format(date2);
        Vilup4.setText(datef);



        // при старте проверяем есть ли в файлах настроек
        // данные по ключу nameKey
        MsharedPrefs = getSharedPreferences(myPrefs2, Context.MODE_PRIVATE);
        if (MsharedPrefs.contains(nameKey2)) {
            // если есть, то ставим значение этого ключа в EditText
            Vilup2.setText(MsharedPrefs.getString(nameKey2, ""));
        }
    }

    // метод для сохранения текста в файл настроек
    public void saveText() {
        // получаем текст
        String editTextValue = Vilup2.getText().toString();

        // получаем доступ к файлу
        SharedPreferences.Editor meditor = MsharedPrefs.edit();
        // сохраняем по текст из EditText по ключу nameKey
        meditor.putString(nameKey2, editTextValue);
        meditor.apply();
    }

    // метод для получения текста из SharedPreferences по ключу
    public void getText() {

        MsharedPrefs = getSharedPreferences(myPrefs2, Context.MODE_PRIVATE);
        if (MsharedPrefs.contains(nameKey2)) {
            Vilup2.setText(MsharedPrefs.getString(nameKey2, ""));


        }
    }

    // получаем id нажатого виджета и вызываем соответственный ему метод
    @Override
    public void onClick(View v) {
        int id = v.getId();
        switch (id) {
            case R.id.saveBtn:
                // сохраняем текст в файл настроек
                saveText();
                Toast.makeText(this, "Сохранить", Toast.LENGTH_LONG).show();
                break;

            case R.id.clearBtn:
                // очищает текст в виджете EditText
                Vilup2.setText("");
                Toast.makeText(this, "Очистить", Toast.LENGTH_LONG).show();
                break;

            case R.id.getBtn:
                // получаем текст из SharedPreferences
                Toast.makeText(this, "Получить", Toast.LENGTH_LONG).show();
                getText();
                break;
        }


    }


    public void test(View view) {
        Intent i;
        i = new Intent(this, activity_Tab.class);
        startActivity(i);
    }

} ```

Ответы (0 шт):