android - Runtime error: ClassNotFound exception -
i've been having runtime error week , can't find solution (i'm new android programmer). please me!
the log @ end of message. know there similar questions mine couldn't find solution problem.
i'm trying call class activity using intent runtime error says class couldn't found.
this log file:
07-01 13:22:57.098: e/dalvikvm(1488): not find class 'com.xxx.ui.viewpager', referenced method com.xxx.ui.mainiwrapper.oncreate 07-01 13:22:57.338: e/androidruntime(1488): fatal exception: main 07-01 13:22:57.338: e/androidruntime(1488): java.lang.runtimeexception: unable start activity componentinfo{com.xxx/com.xxx.ui.mainiwrapper}: android.view.inflateexception: binary xml file line #43: error inflating class com.xxx.ui.navigationbar 07-01 13:22:57.338: e/androidruntime(1488): @ android.app.activitythread.performlaunchactivity(activitythread.java:1647) 07-01 13:22:57.338: e/androidruntime(1488): @ android.app.activitythread.handlelaunchactivity(activitythread.java:1663) 07-01 13:22:57.338: e/androidruntime(1488): @ android.app.activitythread.access$1500(activitythread.java:117) 07-01 13:22:57.338: e/androidruntime(1488): @ android.app.activitythread$h.handlemessage(activitythread.java:931) 07-01 13:22:57.338: e/androidruntime(1488): @ android.os.handler.dispatchmessage(handler.java:99) 07-01 13:22:57.338: e/androidruntime(1488): @ android.os.looper.loop(looper.java:130) 07-01 13:22:57.338: e/androidruntime(1488): @ android.app.activitythread.main(activitythread.java:3683) 07-01 13:22:57.338: e/androidruntime(1488): @ java.lang.reflect.method.invokenative(native method) 07-01 13:22:57.338: e/androidruntime(1488): @ java.lang.reflect.method.invoke(method.java:507) 07-01 13:22:57.338: e/androidruntime(1488): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:839) 07-01 13:22:57.338: e/androidruntime(1488): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:597) 07-01 13:22:57.338: e/androidruntime(1488): @ dalvik.system.nativestart.main(native method) 07-01 13:22:57.338: e/androidruntime(1488): caused by: android.view.inflateexception: binary xml file line #43: error inflating class com.xxx.ui.navigationbar 07-01 13:22:57.338: e/androidruntime(1488): @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:581) 07-01 13:22:57.338: e/androidruntime(1488): @ android.view.layoutinflater.rinflate(layoutinflater.java:623) 07-01 13:22:57.338: e/androidruntime(1488): @ android.view.layoutinflater.rinflate(layoutinflater.java:626) 07-01 13:22:57.338: e/androidruntime(1488): @ android.view.layoutinflater.rinflate(layoutinflater.java:626) 07-01 13:22:57.338: e/androidruntime(1488): @ android.view.layoutinflater.rinflate(layoutinflater.java:626) 07-01 13:22:57.338: e/androidruntime(1488): @ android.view.layoutinflater.inflate(layoutinflater.java:408) 07-01 13:22:57.338: e/androidruntime(1488): @ android.view.layoutinflater.inflate(layoutinflater.java:320) 07-01 13:22:57.338: e/androidruntime(1488): @ android.view.layoutinflater.inflate(layoutinflater.java:276) 07-01 13:22:57.338: e/androidruntime(1488): @ com.android.internal.policy.impl.phonewindow.setcontentview(phonewindow.java:207) 07-01 13:22:57.338: e/androidruntime(1488): @ android.app.activity.setcontentview(activity.java:1657) 07-01 13:22:57.338: e/androidruntime(1488): @ com.xxx.ui.mainiwrapper.oncreate(mainiwrapper.java:69) 07-01 13:22:57.338: e/androidruntime(1488): @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1047) 07-01 13:22:57.338: e/androidruntime(1488): @ android.app.activitythread.performlaunchactivity(activitythread.java:1611) 07-01 13:22:57.338: e/androidruntime(1488): ... 11 more 07-01 13:22:57.338: e/androidruntime(1488): caused by: java.lang.classnotfoundexception: com.xxx.ui.navigationbar in loader dalvik.system.pathclassloader[/data/app/com.xxx- 2.apk] 07-01 13:22:57.338: e/androidruntime(1488): @ dalvik.system.pathclassloader.findclass(pathclassloader.java:240) 07-01 13:22:57.338: e/androidruntime(1488): @ java.lang.classloader.loadclass(classloader.java:551) 07-01 13:22:57.338: e/androidruntime(1488): @ java.lang.classloader.loadclass(classloader.java:511) 07-01 13:22:57.338: e/androidruntime(1488): @ android.view.layoutinflater.createview(layoutinflater.java:471) 07-01 13:22:57.338: e/androidruntime(1488): @ android.view.layoutinflater.createviewfromtag(layoutinflater.java:570) 07-01 13:22:57.338: e/androidruntime(1488): ... 23 more this function deals intent:
private activity from; private class to; public void open() { intent intent; intent = new intent(from, to); if (extras != null) { intent.putextras(extras); } if (to.equals(mainwrapper.class)) { intent.setflags(intent.flag_activity_clear_top); } if (activityforresultrequestcode == -1) { from.startactivity(intent); } else { from.startactivityforresult(intent, activityforresultrequestcode); } if (pendinganimation != null && pendinganimation.length == 2) { from.overridependingtransition(pendinganimation[0], pendinganimation[1]); } else { from.overridependingtransition(r.anim.slide_in_right, r.anim.hold); } if (toclosepreviousactivity) { from.finish(); } } this call from activity (that needs changed), class want load (it uses open() function doing intent):
uiutils.getopenactivitybuilder(splashscreen.this,mainiwrapper.class).tocloseprev(true).open;
this part of manifest -- it's main activity needs changed class mainiwrapper:
<activity android:name=".ui.splashscreen" android:configchanges="orientation" android:screenorientation="portrait" android:theme="@android:style/theme.notitlebar" > <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> this mainwrapper declaration in manifest file:
<activity android:name=".ui.mainiwrapper" android:configchanges="orientation" android:launchmode="singletask" android:screenorientation="portrait" android:theme="@android:style/theme.notitlebar" /> this mainwrapper declaration:
public class mainiwrapper extends basewebsitescreen implements hasbox {...} and main activity declaration:
public class splashscreen extends activity {...} thank still can't find problem(i'm beginner in android)
those lines xml(from line 43):
<com.xxx.ui.navigationbar xmlns:vwpgind="http://schemas.android.com/apk/res/com.xxx" android:id="@+id/navigation_bar" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="top" vwpgind:arrowimagesrc="@drawable/common_slider_arrow" vwpgind:hidefirstitem="true" /> the code mainiwrapper.oncreate() is:
protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main_iwrapper); isuserloggedin = userdetails.getinstance(getapplicationcontext()).isuserloggedin(); //we want refresh user thumb each time user opens main iwrapper if (userdetails.getinstance(getapplicationcontext()).isuserloggedin()) userdetails.deletecacheduserthumb(getapplicationcontext()); textbox = (textbox) findviewbyid(r.id.text_box); viewpager = (viewpager) findviewbyid(r.id.view_pager); pageviewadapter = new pageviewadapter(); viewpager.setadapter(pageviewadapter); viewpager.setoffscreenpagelimit(number_of_pages_to_preload); navigationbar = (navigationbar) findviewbyid(r.id.navigation_bar); topbar = (topbar) findviewbyid(r.id.top_bar); progressanimation = (imageview) findviewbyid(r.id.progress_animation); bottombar = (bottombar) findviewbyid(r.id.bottom_bar); } i still can't find error here. looked @ build path , src folder com.xxx.ui package in it(this package contains navigationbar , viewpager classes)
those lines xml(from line 43):
<com.xxx.ui.navigationbar xmlns:vwpgind="http://schemas.android.com/apk/res/com.xxx" android:id="@+id/navigation_bar" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_gravity="top" vwpgind:arrowimagesrc="@drawable/common_slider_arrow" vwpgind:hidefirstitem="true" /> the code mainiwrapper.oncreate() is:
protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main_iwrapper); isuserloggedin = userdetails.getinstance(getapplicationcontext()).isuserloggedin(); //we want refresh user thumb each time user opens main iwrapper if (userdetails.getinstance(getapplicationcontext()).isuserloggedin()) userdetails.deletecacheduserthumb(getapplicationcontext()); textbox = (textbox) findviewbyid(r.id.text_box); viewpager = (viewpager) findviewbyid(r.id.view_pager); pageviewadapter = new pageviewadapter(); viewpager.setadapter(pageviewadapter); viewpager.setoffscreenpagelimit(number_of_pages_to_preload); navigationbar = (navigationbar) findviewbyid(r.id.navigation_bar); topbar = (topbar) findviewbyid(r.id.top_bar); progressanimation = (imageview) findviewbyid(r.id.progress_animation); bottombar = (bottombar) findviewbyid(r.id.bottom_bar); } i still can't see problem here
public class viewpager extends android.support.v4.view.viewpager { public viewpager(context context) { super(context); } public viewpager(context context, attributeset attrs) { super(context, attrs); } @override public parcelable onsaveinstancestate() { try { return super.onsaveinstancestate(); } catch (exception e) { return null; } }
the compiler doesn't check whether classes referenced in layout xml files exists, normal error @ runtime.
most com.xxx.ui.navigationbar class doesn't exist on classpath. check package names, maybe it's typo, or maybe forgot change package names in xml file after package name refactor on navigationbar class.
Comments
Post a Comment