我正在尝试显示用户输入的时间,无论是在toast中还是使用基本的println命令。如果时间格式正确,我想将其与当前时间一起输入数据库。
这是我到目前为止所做的:
public void addListenerOnButton ()
{
spinner_hours = (Spinner)findViewById(R.id.hours);
spinner_minutes = (Spinner)findViewById(R.id.minutes);
btnSubmit = (Button) findViewById(R.id.btnSubmit);
btnSubmit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Date time;
String enteredTime= String.valueOf(spinner_hours.getSelectedItem())+String.valueOf(spinner_minutes.getSelectedItem())+"00";
SimpleDateFormat format = new SimpleDateFormat("HH:mm:ss");
try {
time= format.parse(enteredTime);
System.out.println(enteredTime);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// Toast.makeText(MainActivity.this,
// "Your alarm has been set for : " + time,
// Toast.LENGTH_SHORT).show();
}
});
}
如果我在try块中放入toast(在下面评论),那么当我运行应用程序时它不会显示出来。如果我放一个system.out.println它不会打印任何东西。如何打印输入的时间?
另外,我想在数据库中以相同的格式(“HH:mm:ss”)输入当前时间。关于如何做到的任何想法?
答案 0 :(得分:1)
它可能会抛出异常,因为System.out.println
应该有效。尝试替换它:
String enteredTime= String.valueOf(spinner_hours.getSelectedItem())+String.valueOf(spinner_minutes.getSelectedItem())+"00";
由此:
String enteredTime= String.valueOf(spinner_hours.getSelectedItem())+ ":" + String.valueOf(spinner_minutes.getSelectedItem())+":00";
您似乎错过了:小时和分钟之间以及00之前,解析失败。
答案 1 :(得分:0)
首先尝试打印从Spinner获得的值
System.out.println(spinner_hours.getSelectedItem().toString());
System.out.println(spinner_minutes.getSelectedItem().toString());
如果这没有任何价值,那么问题就在这里。