如果我在第二个Activity类中有方法我崩溃了:
09-20 13:10:03.130 8552-8552/tk.mikigal.religia E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: tk.mikigal.religia, PID: 8552
java.lang.IllegalStateException: Could not find a method testxd(View) in the activity class tk.mikigal.hds.MainActivity for onClick handler on view class android.support.v7.widget.AppCompatButton with id 'button3'
at android.view.View$1.onClick(View.java:3956)
at android.view.View.performClick(View.java:4640)
at android.view.View$PerformClick.run(View.java:19421)
at android.os.Handler.handleCallback(Handler.java:733)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5476)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1283)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1099)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NoSuchMethodException: testxd [class android.view.View] ...
其他活动类代码:http://pastebin.com/jhELWSc7 我把代码放在pastebin beacouse上太久了,不能粘贴在这里。 我使用XML android:onClick
答案 0 :(得分:0)
<强>校正:强>
在模拟器上,大多数设备System.out.println
被重定向到LogCat并使用Log.i()
打印。在非常旧的或自定义Android版本上可能不是这样。
<强>原始强>
没有控制台可以发送消息,因此System.out.println
消息会丢失。以同样的方式,当你运行传统的&#34;带有javaw
的Java应用程序。
相反,您可以使用Android Log
class:
Log.d("MyApp","I am here");
然后,您可以在Android Studio的 Logcat 视图中查看日志。
每个日志记录调用的第一个条目是日志标记,它标识日志消息的来源。这很有用,因为您可以过滤日志的输出以仅显示您的消息。为确保您与日志代码保持一致,最好将其定义为static final String
某处。
Log.d(MyActivity.LOG_TAG,"Application started");
Log
中有五个单字母方法对应以下级别:
e()
- 错误w()
- 警告i()
- 信息d()
- 调试v()
- 详细documentation says the following about the levels:
除了在开发期间,不应将详细编译到应用程序中。调试日志在运行时编译但被剥离。始终保留错误,警告和信息日志。