Android setText()方法在用户退出活动后重置
因此,当用户单击按钮时,我希望它将文本设置为未来时间。它可以工作,但当用户关闭活动时,按钮会重置。另外,如果有人也可以指导我创建一个方法,重置按钮文本后的时间到达。这是我在按钮上设置文本的代码Android setText()方法在用户退出活动后重置,android,android-layout,button,android-button,settext,Android,Android Layout,Button,Android Button,Settext,因此,当用户单击按钮时,我希望它将文本设置为未来时间。它可以工作,但当用户关闭活动时,按钮会重置。另外,如果有人也可以指导我创建一个方法,重置按钮文本后的时间到达。这是我在按钮上设置文本的代码 private void setReloadTime(int reload, Button btn) { int minutes = (reload/1000/60)%60; int hours = reload/1000/60/60; Calendar c = Calendar
private void setReloadTime(int reload, Button btn) {
int minutes = (reload/1000/60)%60;
int hours = reload/1000/60/60;
Calendar c = Calendar.getInstance();
int min = c.get(Calendar.MINUTE);
int hr = c.get(Calendar.HOUR_OF_DAY);
if (reload ==0){
btn.setTextColor(R.color.colorAccent);
btn.setText("Ready Again In 24 Hours");
return;
}
if (minutes+min>60) hr++;
int finMin = (minutes + min) %60;
int finHr= (hours + hr)%24;
String fin = "Ready again at " +finHr + ":";
if (finMin<10){
fin = fin +"0"+finMin;
} else{
fin = fin + finMin;
}
btn.setTextColor(R.color.colorAccent);
btn.setText(fin);
}
private void setReloadTime(int-reload,按钮btn){
整数分钟=(重新加载/1000/60)%60;
整小时=重新加载/1000/60/60;
Calendar c=Calendar.getInstance();
int min=c.get(日历分钟);
int hr=c.get(日历小时);
如果(重新加载==0){
btn.setTextColor(R.color.colorAccent);
btn.setText(“24小时后再次准备就绪”);
返回;
}
如果(分钟+分钟>60)小时++;
int finMin=(分钟+分钟)%60;
int finHr=(小时+小时)%24;
字符串fin=“在“+finHr+”处再次准备就绪:”;
如果(finMin您应该将应用程序的状态(按钮、时间等)保存在SharedReferences中。在重新加载活动时,使用共享首选项
例如:
指导线是按照将给出的答案进行操作,进一步研究,实际上真正的指导线是,你的活动控制屏幕上的内容,因此当它消失时,屏幕上的所有内容都消失了,使用两个答案提供的SharedReference样式以及文本节省时间,下次你的活动出现时,请重试eve它,并用当前时间检查它
public static final String MyPREFERENCES = "MyPrefs" ;
SharedPreferences sharedpreferences;
sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
Editor editor = sharedpreferences.edit();
editor.putString(Name, fin);
editor.commit();
if (sharedpreferences.contains(Name))
{
btn.setText(sharedpreferences.getString(Name, ""));
}