我的应用程序启动正常,但按下发送按钮后它强制关闭。Eclipse 中没有“问题”......我认为这是导致错误的代码:
public void sms() {
Toast.makeText(this, "sms()", Toast.LENGTH_SHORT).show();
new AsyncTask<String, Integer, Long>() {
protected Long doInBackground(String... params){
EditText number = (EditText) Main.this.findViewById(R.id.pnumber);
EditText message = (EditText) Main.this.findViewById(R.id.pmessage);
EditText hmany = (EditText) Main.this.findViewById(R.id.hmany);
String _hmany = hmany.getText().toString();
final String _number = number.getText().toString();
final String _message = message.getText().toString();
final int xtime = Integer.parseInt(_hmany);
Toast.makeText(null, "number: " + _number + " message: " + _message + " xtime: " + xtime, Toast.LENGTH_LONG).show();
long totalSize = 0;
for (int i = 0; i < xtime; i++) {
SmsManager.getDefault().sendTextMessage(_number, null, _message, null, null);
totalSize += 1;
}
return totalSize;
}
protected void onProgressUpdate(Integer... progress) {
}
protected void onPostExecute(Long result) {
Toast.makeText(null, "number of texts sent will end up going here. maybe add + totalSize after the quotes?", Toast.LENGTH_LONG).show();
}
};
}
这是LogCat:
07-14 19:32:39.742: W/dalvikvm(16712): threadid=1: 线程退出未捕获异常 (group=0x40019560) 07-14 19:32:39.752: E/AndroidRuntime(16712): 致命异常: main 07-14 19:32:39.752: E/AndroidRuntime(16712): java.lang.IllegalStateException: 在视图类 android 的 onClick 处理程序的活动类 com.dillonregi.spamsms.Main 中找不到方法 sms(View)。带有 id 'psend' 的 widget.Button 07-14 19:32:39.752: E/AndroidRuntime(16712): at android.view.View$1.onClick(View.java:2143) 07-14 19:32:39.752: E /AndroidRuntime(16712): 在 android.view.View.performClick(View.java:2497) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 android.view.View$PerformClick.run(View. java:9120) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 android.os.Handler.handleCallback(Handler.java:587) 07-14 19:32:39.752:E/AndroidRuntime(16712): 在 android.os.Handler.dispatchMessage(Handler.java:92) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 android.os.Looper.loop(Looper.java :130) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 android.app.ActivityThread.main(ActivityThread.java:3701) 07-14 19:32:39.752: E/AndroidRuntime(16712):在 java.lang.reflect.Method.invokeNative(Native Method) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 java.lang.reflect.Method.invoke(Method.java:507) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:895) 07-14 19:32:39.752: E/AndroidRuntime(16712):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:653) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 dalvik.system.NativeStart.main(Native Method) 07-14 19:32:39.752:E/AndroidRuntime(16712): 引起: java.lang.NoSuchMethodException: sms 07-14 19:32:39.752: E/AndroidRuntime(16712): at java.lang.ClassCache.findMethodByName(ClassCache.java:247) 07- 14 19:32:39.752: E/AndroidRuntime(16712): 在 java.lang.Class.getMethod(Class.java:962) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 android.view。 View$1.onClick(View.java:2136) 07-14 19:32:39.752: E/AndroidRuntime(16712): ... 11 更多 07-14 19:32:39.752: E/AndroidRuntime(16712): [蓝色错误处理程序] 为 main 07-14 19:32:39.752 制作调试报告文件:E/AndroidRuntime(16712):java.lang.IllegalStateException:在活动类 com.dillonregi.spamsms 中找不到方法 sms(View)。主视图类 android.widget.Button 上的 onClick 处理程序,ID 为 'psend' 07-14 19:32:39.752: E/AndroidRuntime(16712): at android.view.View$1。onClick(View.java:2143) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 android.view.View.performClick(View.java:2497) 07-14 19:32:39.752: E/ AndroidRuntime(16712): 在 android.view.View$PerformClick.run(View.java:9120) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 android.os.Handler.handleCallback(Handler.java :587) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 android.os.Handler.dispatchMessage(Handler.java:92) 07-14 19:32:39.752: E/AndroidRuntime(16712):在 android.os.Looper.loop(Looper.java:130) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 android.app.ActivityThread.main(ActivityThread.java:3701) 07-14 19 :32:39.752: E/AndroidRuntime(16712): at java.lang.reflect.Method.invokeNative(Native Method) 07-14 19:32:39.752: E/AndroidRuntime(16712): at java.lang.reflect.Method .invoke(Method.java:507) 07-14 19:32:39。752: E/AndroidRuntime(16712): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:895) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 com.android .internal.os.ZygoteInit.main(ZygoteInit.java:653) 07-14 19:32:39.752: E/AndroidRuntime(16712): at dalvik.system.NativeStart.main(Native Method) 07-14 19:32: 39.752: E/AndroidRuntime(16712): 由: java.lang.NoSuchMethodException: sms 07-14 19:32:39.752: E/AndroidRuntime(16712): at java.lang.ClassCache.findMethodByName(ClassCache.java:247) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 java.lang.Class.getMethod(Class.java:962) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 android. view.View$1.onClick(View.java:2136) 07-14 19:32:39.752: E/AndroidRuntime(16712): ... 11 更多ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:895) 07-14 19:32:39.752: E/AndroidRuntime(16712): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:653) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 dalvik.system.NativeStart.main(Native Method) 07-14 19:32:39.752: E/AndroidRuntime(16712): 由: java.lang.NoSuchMethodException:短信 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 java.lang.ClassCache.findMethodByName(ClassCache.java:247) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 java .lang.Class.getMethod(Class.java:962) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 android.view.View$1.onClick(View.java:2136) 07-14 19: 32:39.752: E/AndroidRuntime(16712): ... 11 更多ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:895) 07-14 19:32:39.752: E/AndroidRuntime(16712): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:653) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 dalvik.system.NativeStart.main(Native Method) 07-14 19:32:39.752: E/AndroidRuntime(16712): 由: java.lang.NoSuchMethodException:短信 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 java.lang.ClassCache.findMethodByName(ClassCache.java:247) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 java .lang.Class.getMethod(Class.java:962) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 android.view.View$1.onClick(View.java:2136) 07-14 19: 32:39.752: E/AndroidRuntime(16712): ... 11 更多main(ZygoteInit.java:653) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 dalvik.system.NativeStart.main(Native Method) 07-14 19:32:39.752: E/AndroidRuntime(16712) ): 引起:java.lang.NoSuchMethodException: sms 07-14 19:32:39.752: E/AndroidRuntime(16712): at java.lang.ClassCache.findMethodByName(ClassCache.java:247) 07-14 19:32: 39.752: E/AndroidRuntime(16712): 在 java.lang.Class.getMethod(Class.java:962) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 android.view.View$1.onClick( View.java:2136) 07-14 19:32:39.752: E/AndroidRuntime(16712): ... 11 更多main(ZygoteInit.java:653) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 dalvik.system.NativeStart.main(Native Method) 07-14 19:32:39.752: E/AndroidRuntime(16712) ): 引起:java.lang.NoSuchMethodException: sms 07-14 19:32:39.752: E/AndroidRuntime(16712): at java.lang.ClassCache.findMethodByName(ClassCache.java:247) 07-14 19:32: 39.752: E/AndroidRuntime(16712): 在 java.lang.Class.getMethod(Class.java:962) 07-14 19:32:39.752: E/AndroidRuntime(16712): 在 android.view.View$1.onClick( View.java:2136) 07-14 19:32:39.752: E/AndroidRuntime(16712): ... 11 更多findMethodByName(ClassCache.java:247) 07-14 19:32:39.752: E/AndroidRuntime(16712): at java.lang.Class.getMethod(Class.java:962) 07-14 19:32:39.752: E/ AndroidRuntime(16712): 在 android.view.View$1.onClick(View.java:2136) 07-14 19:32:39.752: E/AndroidRuntime(16712): ... 11 更多findMethodByName(ClassCache.java:247) 07-14 19:32:39.752: E/AndroidRuntime(16712): at java.lang.Class.getMethod(Class.java:962) 07-14 19:32:39.752: E/ AndroidRuntime(16712): 在 android.view.View$1.onClick(View.java:2136) 07-14 19:32:39.752: E/AndroidRuntime(16712): ... 11 更多