首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >android告警无法启动告警活动

android告警无法启动告警活动
EN

Stack Overflow用户
提问于 2012-06-25 22:24:57
回答 1查看 307关注 0票数 0

我是新手的android编程,并试图使这个简单的警报应用程序。我写了我的代码,它没有任何错误的编译。应用程序在模拟器中运行,即主活动询问日期和时间,但当我单击确认按钮时,它会显示消息-“不幸的是,Timer1已停止工作”。

我的主要活动的代码如下:

代码语言:javascript
复制
public void onClick(View v) {
    EditText date = (EditText) findViewById(R.id.editDate);
    EditText month = (EditText) findViewById(R.id.editMonth);
    EditText hour = (EditText) findViewById(R.id.editHour);
    EditText min = (EditText) findViewById(R.id.editMin);
    int dt = Integer.parseInt(date.getText().toString());
    int mon = Integer.parseInt(month.getText().toString());
    int hr = Integer.parseInt(hour.getText().toString());
    int mnt = Integer.parseInt(min.getText().toString());
    Intent myIntent = new Intent(MainActivity.this, AlarmActivity.class);
    pendingIntent = PendingIntent.getService(MainActivity.this, 0, myIntent, 0);
    AlarmManager alarmManager = (AlarmManager) getSystemService(ALARM_SERVICE);
    Calendar calendar = Calendar.getInstance();
    calendar.set(Calendar.DATE, dt);
    calendar.set(Calendar.MONTH, mon);
    calendar.set(Calendar.HOUR, hr);
    calendar.set(Calendar.MINUTE, mnt);
    alarmManager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), pendingIntent);
}

我不明白logcat中的所有错误是什么意思,所以我将它们张贴出来:

代码语言:javascript
复制
06-25 16:03:32.175: I/Process(566): Sending signal. PID: 566 SIG: 9
06-25 16:03:53.775: I/dalvikvm(612): threadid=3: reacting to signal 3
06-25 16:03:54.046: I/dalvikvm(612): Wrote stack traces to '/data/anr/traces.txt'
06-25 16:03:54.255: I/dalvikvm(612): threadid=3: reacting to signal 3
06-25 16:03:54.305: I/dalvikvm(612): Wrote stack traces to '/data/anr/traces.txt'
06-25 16:03:54.735: I/dalvikvm(612): threadid=3: reacting to signal 3
06-25 16:03:54.785: I/dalvikvm(612): Wrote stack traces to '/data/anr/traces.txt'
06-25 16:03:54.925: D/gralloc_goldfish(612): Emulator without GPU emulation detected.
06-25 16:05:09.605: D/AndroidRuntime(612): Shutting down VM
06-25 16:05:09.605: W/dalvikvm(612): threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
06-25 16:05:09.685: E/AndroidRuntime(612): FATAL EXCEPTION: main
06-25 16:05:09.685: E/AndroidRuntime(612): java.lang.NumberFormatException: Invalid int: "android.widget.EditText@41030b40"
06-25 16:05:09.685: E/AndroidRuntime(612):  at java.lang.Integer.invalidInt(Integer.java:138)
06-25 16:05:09.685: E/AndroidRuntime(612):  at java.lang.Integer.parse(Integer.java:375)
06-25 16:05:09.685: E/AndroidRuntime(612):  at java.lang.Integer.parseInt(Integer.java:366)
06-25 16:05:09.685: E/AndroidRuntime(612):  at java.lang.Integer.parseInt(Integer.java:332)
06-25 16:05:09.685: E/AndroidRuntime(612):  at com.kapymay.tversion1.MainActivity$1.onClick(MainActivity.java:34)
06-25 16:05:09.685: E/AndroidRuntime(612):  at android.view.View.performClick(View.java:3511)
06-25 16:05:09.685: E/AndroidRuntime(612):  at android.view.View$PerformClick.run(View.java:14105)
06-25 16:05:09.685: E/AndroidRuntime(612):  at android.os.Handler.handleCallback(Handler.java:605)
06-25 16:05:09.685: E/AndroidRuntime(612):  at android.os.Handler.dispatchMessage(Handler.java:92)
06-25 16:05:09.685: E/AndroidRuntime(612):  at android.os.Looper.loop(Looper.java:137)
06-25 16:05:09.685: E/AndroidRuntime(612):  at android.app.ActivityThread.main(ActivityThread.java:4424)
06-25 16:05:09.685: E/AndroidRuntime(612):  at java.lang.reflect.Method.invokeNative(Native Method)
06-25 16:05:09.685: E/AndroidRuntime(612):  at java.lang.reflect.Method.invoke(Method.java:511)
06-25 16:05:09.685: E/AndroidRuntime(612):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-25 16:05:09.685: E/AndroidRuntime(612):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-25 16:05:09.685: E/AndroidRuntime(612):  at dalvik.system.NativeStart.main(Native Method)
06-25 16:05:10.445: I/dalvikvm(612): threadid=3: reacting to signal 3
06-25 16:05:10.575: I/dalvikvm(612): Wrote stack traces to '/data/anr/traces.txt'
EN

回答 1

Stack Overflow用户

发布于 2012-06-28 15:17:14

代码语言:javascript
复制
  int dt = Integer.parseInt(date.getText().toString());
                int mon = Integer.parseInt(month.getText().toString());
                int hr = Integer.parseInt(hour.getText().toString());
                int mnt = Integer.parseInt(min.getText().toString());

其中一个是不能解析为整数的。

查看哪一个的方法:

首先这样写出来:

代码语言:javascript
复制
String date = date.getText().toString();

对所有4个执行类似的操作

代码语言:javascript
复制
and then Log.i("YOURACTIVITNAME", "date:"+date+" hour"+.....);

或者,您可以简单地插入断点,并对其进行调试,而不是Log.i。看看哪一个会犯错。

在tostring后面使用.trim()来删除空格也是很好的做法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11191201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档