Изначально в моём приложении всего одна кнопка, при нажатии на которую текст на ней изменяется и появляется TextView с текущим временем и обновляется каждую секунду. Как сделать, чтобы если кнопка была нажата и после приложение закрыто, при следующем запуске текущее время уже отображалось без нажатия кнопки?
Вот код xml:
<?xml version="1.0" encoding="utf-8"?>
<androidx.appcompat.widget.LinearLayoutCompat xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="vertical"
android:layout_marginLeft="150dp"
tools:context=".MainActivity">
<TextView
android:id="@+id/label2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<Button
android:id="@+id/but"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="125dp"
android:text="Начать!"
android:onClick="butpress"/>
</androidx.appcompat.widget.LinearLayoutCompat>
Код java:
public class MainActivity extends AppCompatActivity {
TextView label;
Button but;
private Handler handler;
boolean prov = true;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
but = (Button) findViewById(R.id.but);
label = (TextView) findViewById(R.id.label2);
handler = new Handler(){
public void handleMessage(Message msg){
String time = new SimpleDateFormat("kk:mm:ss").format(Calendar.getInstance().getTime());
label.setText(time);
}
};
}
public void butpress(View view){
String time = new SimpleDateFormat("YYYY-MM-dd").format(Calendar.getInstance().getTime());
but.setText("Остановить");
Thread t = new Thread(new Runnable() {
@Override
public void run() {
while (prov) {
handler.sendEmptyMessage(1);
try {
Thread.sleep(1000);
} catch (Exception e) {
System.out.println(e);
}
}
}
});
t.start();
}
}