没有root点的android崩溃异常

时间:2013-01-07 11:43:44

标签: android exception android-viewpager

当我收到异常但无法理解在哪里寻找

时,我该怎么办?

我的意思是我知道它在我的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

2 个答案:

答案 0 :(得分:1)

逐行从下到上阅读stactrace,以获取相关信息 它崩溃了,因为它无法在您的活动中找到方法onTabClicked(View)

我假设您有一个XML控件,该控件具有onClick属性,如下所示:

android:onClick="onTabClicked"

如果是这样,那么您的活动应该有一个名为onTabClicked(View view)的方法,它接受View类型的参数,这是必需的。 像这样:

public void onTabClicked(View view){
}

答案 1 :(得分:0)

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

类似的链接可以提出可能的解决方案Android TabWidget detect click on current tab