我有一個定時器運行,然後熄滅,並做了一些事情,定時器啓動罰款。Android定時器崩潰取消
然後我想要做的是點擊一個按鈕,然後創建一個電子郵件。除了在計時器運行時單擊該按鈕之外,一切正常,應用程序崩潰。當按下按鈕時試圖取消計時器時,也會使應用程序崩潰。
任何幫助,將不勝感激。
下面的代碼片段:
public class myApplication extends Activity {
StringBuilder str;
Timer t;
Button mailbutton;
public void onCreate(Bundle savedInstanceState) {
final StringBuilder str = new StringBuilder(1000);
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
addListenerOnButton();
TimerTask task = new TimerTask() {
@Override
public void run()
{
/// do stuff here
}
}
t = new Timer();
t.schedule(task,2000,2000);
}
public void addListenerOnButton() {
mailbutton = (Button) findViewById(R.id.emailbutton);
mailbutton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
t.cancel();
Intent i = new Intent(Intent.ACTION_SEND);
i.setType("text/plain");
i.putExtra(Intent.EXTRA_EMAIL , new String[]{"[email protected]"});
i.putExtra(Intent.EXTRA_SUBJECT, "subject");
i.putExtra(Intent.EXTRA_TEXT , str.toString());
try {
startActivity(Intent.createChooser(i, "Send mail"));
} catch (android.content.ActivityNotFoundException ex) {
}
}
});
}
}
logcat的輸出:
04-19 09:13:11.143: W/dalvikvm(12613): threadid=1: thread exiting with uncaught exception (group=0x40c421f8)
04-19 09:13:11.148: E/AndroidRuntime(12613): FATAL EXCEPTION: main
04-19 09:13:11.148: E/AndroidRuntime(12613): java.lang.NullPointerException
04-19 09:13:11.148: E/AndroidRuntime(12613): at uk.co.application.applicationActivity$2.onClick(applicationActivity.java:94)
04-19 09:13:11.148: E/AndroidRuntime(12613): at android.view.View.performClick(View.java:3591)
04-19 09:13:11.148: E/AndroidRuntime(12613): at android.view.View$PerformClick.run(View.java:14263)
04-19 09:13:11.148: E/AndroidRuntime(12613): at android.os.Handler.handleCallback(Handler.java:605)
04-19 09:13:11.148: E/AndroidRuntime(12613): at android.os.Handler.dispatchMessage(Handler.java:92)
04-19 09:13:11.148: E/AndroidRuntime(12613): at android.os.Looper.loop(Looper.java:137)
04-19 09:13:11.148: E/AndroidRuntime(12613): at android.app.ActivityThread.main(ActivityThread.java:4507)
04-19 09:13:11.148: E/AndroidRuntime(12613): at java.lang.reflect.Method.invokeNative(Native Method)
04-19 09:13:11.148: E/AndroidRuntime(12613): at java.lang.reflect.Method.invoke(Method.java:511)
04-19 09:13:11.148: E/AndroidRuntime(12613): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
04-19 09:13:11.148: E/AndroidRuntime(12613): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
04-19 09:13:11.148: E/AndroidRuntime(12613): at dalvik.system.NativeStart.main(Native Method)
從logcat中添加你的錯誤日誌。 – blessenm 2012-04-19 00:08:43
你可以發佈崩潰日誌嗎? – 2012-04-19 00:08:52
請發佈locat stacktrace – slayton 2012-04-19 00:09:02