我想创建在其中设置警报的应用程序(我写它),但我的问题是我怎样才能在TextView中继续显示时间直到闹钟时间?(我的意思是如果按下后退,应用程序是重新打开,此TextView显示闹钟时间)。 例如现在时间是11:38 AM,我在15:13设置了一个警报,我有一个TextView,它的keeos用这种方法显示闹钟时间(15:13),但现在我的问题是我怎么能显示这个文本(即使我退出应用程序)直到15:13 o'时钟之后显示" +"。 将时间转换为文本视图的方法(仅供参考):
private String convertTimeToString(long time) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
int hour = calendar.get(Calendar.HOUR);
int minute = calendar.get(Calendar.MINUTE);
String timeSet;
if (hour > 12) {
hour -= 12;
timeSet = "PM";
} else if (hour == 0) {
hour += 12;
timeSet = "AM";
} else if (hour == 12) {
timeSet = "PM";
} else {
timeSet = "AM";
}
String minutes;
if (minute < 10) {
minutes = "0" + minute;
} else {
minutes = String.valueOf(minute);
}
// Append in a StringBuilder
return String.format("%s:%s %s", hour, minutes, timeSet);
}
我认为这些额外的信息是有帮助的。谢谢你的回应!
答案 0 :(得分:2)
您必须将警报时间保存在某种数据存储中。 请在此处查看数据存储选项:
http://developer.android.com/guide/topics/data/data-storage.html
我认为,“SharedPreferences”是最适合您的。 略微改变官方示例代码,你会想要这样的东西:
public class Calc extends Activity {
public static final String PREFS_NAME = "MyPrefsFile";
@Override
protected void onCreate(Bundle state){
super.onCreate(state);
. . .
// Restore preferences
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
String time = settings.getString("alarm_time", "12:00");
mAlarmTextField.setText(time);
}
@Override
protected void onStop(){
super.onStop();
// We need an Editor object to make preference changes.
// All objects are from android.context.Context
SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putBoolean("alarm_time", mAlarmTextField.getText().toString());
// Commit the edits!
editor.commit();
}
}