1

当我遇到异常但不知道在哪里寻找时该怎么办

我的意思是我知道它在我的 NewHomeTabActivity 中,但我应该从哪里开始搜索。我尝试插入一些日志行和断点,但仍然无法解决根本原因

01-07 13:39:33.133: W/dalvikvm(12350): threadid=1: thread exiting with uncaught exception (group=0x40c471f8) 
01-07 13:39:33.133: W/System.err(12350): java.lang.IllegalStateException: Could not find a method onTabClicked(View) in the activity class att.uc.ui.screen.NewHomeTabActivity for onClick handler on view class android.widget.RelativeLayout with id 'tab_dialer' 
01-07 13:39:33.138: W/System.err(12350): at android.view.View$1.onClick(View.java:3085) 
01-07 13:39:33.143: W/System.err(12350): at android.view.View.performClick(View.java:3620) 
01-07 13:39:33.143: W/System.err(12350): at android.view.View$PerformClick.run(View.java:14292) 
01-07 13:39:33.143: W/System.err(12350): at android.os.Handler.handleCallback(Handler.java:605) 
01-07 13:39:33.148: W/System.err(12350): at android.os.Handler.dispatchMessage(Handler.java:92) 
01-07 13:39:33.148: W/System.err(12350): at android.os.Looper.loop(Looper.java:137) 
01-07 13:39:33.148: W/System.err(12350): at android.app.ActivityThread.main(ActivityThread.java:4507) 
01-07 13:39:33.153: W/System.err(12350): at java.lang.reflect.Method.invokeNative(Native Method) 
01-07 13:39:33.153: W/System.err(12350): at java.lang.reflect.Method.invoke(Method.java:511) 
01-07 13:39:33.153: W/System.err(12350): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980) 
01-07 13:39:33.158: W/System.err(12350): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747) 
01-07 13:39:33.158: W/System.err(12350): at dalvik.system.NativeStart.main(Native Method) 
01-07 13:39:33.158: W/System.err(12350): Caused by: java.lang.NoSuchMethodException: onTabClicked [class android.view.View] 
01-07 13:39:33.163: W/System.err(12350): at java.lang.Class.getConstructorOrMethod(Class.java:460) 
01-07 13:39:33.163: W/System.err(12350): at java.lang.Class.getMethod(Class.java:915) 
01-07 13:39:33.168: W/System.err(12350): at android.view.View$1.onClick(View.java:3078) 
01-07 13:39:33.173: W/System.err(12350): ... 11 more
4

2 回答 2

1

从下到上逐行阅读 sacttrace 以获得相关信息。它崩溃是因为它在您的活动中
找不到该方法。onTabClicked(View)

我假设你有一个 XML 控件,它被赋予了onClick属性,如下所示:

android:onClick="onTabClicked"

如果是这样,那么您的活动应该有一个调用的方法,该方法onTabClicked(View view)接受 type 的参数View,这是强制性的。像这样:

public void onTabClicked(View view){
}
于 2013-01-07T11:51:07.873 回答
0

日志表明它是一个 RunTimeException ,因此您无法通过放置日志找到它,在 RunTime 找不到您使用的 onTabClicked 方法(可能在 xml 文件中定义),这可能是因为您在针对较低版本构建时调用了更高的 sdk 版本sdk 版本,您可以针对更高的 sdk 版本或使用替代方法进行 onclick

类似的链接可以建议一个可能的解决方案Android TabWidget 检测点击当前选项卡

于 2013-01-07T11:52:22.550 回答