Android - switching intents, app crashes unexpectedly -
i'm beginner in android developing app has 2 screens , when try switch 1 app crashes can tell me why happening,is because of declarations on second class? i've added second class in manifest file , not seems problem here. main class goes this:
public class mainactivity extends activity { @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); final databaseh dh =new databaseh(this); final edittext ed1=(edittext)findviewbyid(r.id.edittext1); button b1=(button)findviewbyid(r.id.button1); button b2=(button)findviewbyid(r.id.button2); final string[] itemsn = new string[]{"cat","dog","mouse","fish"}; final listview listview = (listview) findviewbyid(r.id.listview1); final textview tv1 = (textview)findviewbyid(r.id.textview1); final arrayadapter<string> adapter = new arrayadapter<string>(this,android.r.layout.simple_list_item_1); listview.setadapter(adapter); b1.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub dh.additem(ed1.gettext().tostring()); } }); b2.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { //string[] values = new string[dh.getallcontacts().size()]; //values=dh.getallcontacts().toarray(values); // todo auto-generated method stu adapter.clear(); adapter.addall(dh.getallitems()); //tv1.settext(dh.getallcontacts().tostring()); }}); listview.setonitemlongclicklistener(new adapterview.onitemlongclicklistener() { @override public boolean onitemlongclick(adapterview<?> arg0, view arg1, int arg2, long arg3) { //deleting item @ clicked position tv1.settext(listview.getitematposition(arg2).tostring()); dh.deletecontact(listview.getitematposition(arg2).tostring()); adapter.clear(); adapter.addall(dh.getallitems()); // todo auto-generated method stub return false; } }); button b3=(button)findviewbyid(r.id.admin); b3.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub try{ intent myintent = new intent(v.getcontext(), dbmanager.class); startactivityforresult(myintent, 0);} catch(exception e){ tv1.settext(e.tostring()); } } }); } @override public boolean oncreateoptionsmenu(menu menu) { // inflate menu; adds items action bar if present. getmenuinflater().inflate(r.menu.main, menu); return true; } public boolean onoptionsitemselected(menuitem item) { switch(item.getitemid()){ case r.id.action_settings: break; } return super.onoptionsitemselected(item); } }
and second class:
public class dbmanager extends activity {@override protected void oncreate(bundle savedinstancestate) { // todo auto-generated method stub super.oncreate(savedinstancestate); setcontentview(r.layout.db_manager); final databaseh dh1 = null; final spinner sp1=(spinner)findviewbyid(r.id.spinner1); final edittext itn=(edittext)findviewbyid(r.id.itemname); final edittext cos=(edittext)findviewbyid(r.id.cost); final edittext avai=(edittext)findviewbyid(r.id.status); final ratingbar rtb1=(ratingbar)findviewbyid(r.id.rating); button submit=(button)findviewbyid(r.id.sub); button add =(button)findviewbyid(r.id.addnew); list<string> list1 = new arraylist<string>(); list1.addall(dh1.getallitems()); arrayadapter<string> dataadapter = new arrayadapter<string>(this,android.r.layout.simple_spinner_item, list1); dataadapter.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item); sp1.setadapter(dataadapter); submit.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub dh1.addsubitem(itn.gettext().tostring(),cos.gettext().tostring(),avai.gettext().tostring(),sp1.getselecteditem().tostring(),rtb1.getrating()); } }); } }
and logcat o/p:
07-31 12:29:38.227: w/dalvikvm(528): threadid=1: thread exiting uncaught exception (group=0x40014760) 07-31 12:29:38.246: e/androidruntime(528): fatal exception: main 07-31 12:29:38.246: e/androidruntime(528): java.lang.runtimeexception: unable start activity componentinfo{com.example.treedb/com.example.treedb.dbmanager}: java.lang.nullpointerexception 07-31 12:29:38.246: e/androidruntime(528): @ android.app.activitythread.performlaunchactivity(activitythread.java:1736) 07-31 12:29:38.246: e/androidruntime(528): @ android.app.activitythread.handlelaunchactivity(activitythread.java:1752) 07-31 12:29:38.246: e/androidruntime(528): @ android.app.activitythread.access$1500(activitythread.java:123) 07-31 12:29:38.246: e/androidruntime(528): @ android.app.activitythread$h.handlemessage(activitythread.java:993) 07-31 12:29:38.246: e/androidruntime(528): @ android.os.handler.dispatchmessage(handler.java:99) 07-31 12:29:38.246: e/androidruntime(528): @ android.os.looper.loop(looper.java:126) 07-31 12:29:38.246: e/androidruntime(528): @ android.app.activitythread.main(activitythread.java:3997) 07-31 12:29:38.246: e/androidruntime(528): @ java.lang.reflect.method.invokenative(native method) 07-31 12:29:38.246: e/androidruntime(528): @ java.lang.reflect.method.invoke(method.java:491) 07-31 12:29:38.246: e/androidruntime(528): @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:841) 07-31 12:29:38.246: e/androidruntime(528): @ com.android.internal.os.zygoteinit.main(zygoteinit.java:599) 07-31 12:29:38.246: e/androidruntime(528): @ dalvik.system.nativestart.main(native method) 07-31 12:29:38.246: e/androidruntime(528): caused by: java.lang.nullpointerexception 07-31 12:29:38.246: e/androidruntime(528): @ com.example.treedb.dbmanager.oncreate(dbmanager.java:30) 07-31 12:29:38.246: e/androidruntime(528): @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1048) 07-31 12:29:38.246: e/androidruntime(528): @ android.app.activitythread.performlaunchactivity(activitythread.java:1700) 07-31 12:29:38.246: e/androidruntime(528): ... 11 more
list1.addall(dh1.getallitems());
this code line dbmanager
activity class giving nullpointerexception.
as using dh1
object without initializing it. null.
Comments
Post a Comment