其他活动类中的方法

时间:2015-09-20 12:14:37

标签: android android-activity methods onclick crash

如果我在第二个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

1 个答案:

答案 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

  

除了在开发期间,不应将详细编译到应用程序中。调试日志在运行时编译但被剥离。始终保留错误,警告和信息日志。