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);
}
} ```