我有一个生成随机时间的应用程序,然后将这些时间存储在单独的TextView中。我可以使用AlarmManager为这些时间设置警报吗?我在这个网站上看到了其他一些代码,它们都显示了硬编码的闹钟时间。像这样的东西,例如:
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY,17);
cal.set(Calendar.MINUTE,30);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.MILLISECOND,0);
显然我做不到,因为我的时间是随机的。所以我的应用程序将生成几次,然后在每个我添加一个按钮,显示“设置警报”。用户也可以选择自己的时间,但也在String中。
如何将String / TextView用作设置闹钟的时间?如果它有助于时间以24小时格式出现。
感谢任何帮助!
编辑:这是我现在拥有的一部分。DateTimeFormatter formatter = DateTimeFormat.forPattern("HH:mm");
userEnterTime = (userTime.toString(formatter));
Intent a = new Intent(this, Alarm.class);
a.putExtra("usertime", userEnterTime);
startActivity(a);
活动'a'然后将其分配给TextView。
答案 0 :(得分:1)
您可以简单地解析String并将其拆分为冒号以获取小时和分钟,然后使用Integer.parseInt()
将它们转换为整数,并将它们传递给Calendar.set()
方法。
String yourTime = "hh:mm"; //replace with time
String arr = yourTime.split(":");
int hours = Integer.parseInt(arr[0]);
int mins = Integer.parseInt(arr[1]);
Calendar cal = Calendar.getInstance();
cal.set(Calendar.HOUR_OF_DAY, hours);
cal.set(Calendar.MINUTE, mins);
cal.set(Calendar.SECOND,0);
cal.set(Calendar.MILLISECOND,0);
您应该为try-catch
添加NumberFormatException
。