0

我有一个生成随机时间的应用程序,然后将这些时间存储在单独的 TextViews 中。我可以使用 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/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);

Activity 'a' 然后将其分配给 TextView。

4

1 回答 1

1

您可以简单地解析字符串并在冒号处拆分它以获得小时和分钟,然后使用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

于 2013-04-15T13:10:57.567 回答