我知道不是第一个问这个的人,我需要做的是当我通过点击按钮关闭当前活动时,我想显示当前时间。
这将进行以下验证。
1,在当前活动中,我有一个时间选择器,如果我选择任何时候点击保存按钮,它将显示选择的时间并关闭当前活动。
2,如果我没有从时间选择器中选择任何时间并且在保存按钮上单击我想显示当前时间。
对我来说,第一个工作正常,但第二个工作正常显示为空。
TimePicker时间:
mTimePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
@Override
public void onTimeChanged(TimePicker timePicker, int i, int i1) {
int hour = i % 12;
mselectedTime = (String.format("%02d:%02d %s", hour == 0 ? 12 : hour, i1, i < 12 ? "AM" : "PM"));
}
});
代码:
mSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(mselectedTime == "null"){
SimpleDateFormat dateFormat = new SimpleDateFormat("hh.mm.ss aa");
Toast.makeText(getApplicationContext(),"Time Is :" + dateFormat, Toast.LENGTH_LONG).show();
}else {
Toast.makeText(getApplicationContext(), mselectedTime, Toast.LENGTH_LONG).show();
}
Intent intent = new Intent(CreateAlarm.this, AlarmActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_out, R.anim.slide_out);
}
});
这里第二个Toast正在显示时间,但是第一个Toast总是显示为空。我需要在第一个吐司中将时间显示为 04:50 Am / Pm格式
任何人都可以告诉我我在哪里犯了错误。
答案 0 :(得分:1)
在第二个吐司中,您需要重新获取时间,然后将其添加到吐司,而不是SimpleDateFormat
。这是代码:
Date currentTime = Calendar.getInstance().getTime();
SimpleDateFormat dateFormat = new SimpleDateFormat("hh.mm.ss aa");
String output = dateFormat.format(currentTime);
Toast.makeText(getApplicationContext(),"Time Is :" + output, Toast.LENGTH_LONG).show();
答案 1 :(得分:0)
DateFormat dateFormat = new SimpleDateFormat("hh.mm aa");
String dateString = dateFormat.format(new Date()).toString();
Toast.makeText(this,"Current time :"+ dateString,Toast.LENGTH_LONG).show();
您可能导入错误的包使用。
import java.text.SimpleDateFormat;
import java.text.DateFormat;
import java.util.Date;
答案 2 :(得分:0)
使用日历实例,您可以获得当前的小时和分钟
Calendar c;
private int mhour;
private int mminute;
c = Calendar.getInstance();
mhour = c.get(Calendar.HOUR);
mminute = c.get(Calendar.MINUTE);
// you will get current hour and minutes of device time
也请参考this