android - java.lang.RuntimeException: Unable to start activity ComponentInfo -
i'm trying update data sqlite database shows null pointer exception @ line isupdate= getintent().getextras().getboolean("update");
in expense.java
plz me find out error.
here expense.java
public class expenses extends activity { databasehelper mydb; private calendar calendar; private int year, month, day; button add; edittext amt, dte, spinner; textview tbal; string id, categ, amount, date; private sqlitedatabase database; boolean isupdate; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.expenseactivity); calendar = calendar.getinstance(); year = calendar.get(calendar.year); month = calendar.get(calendar.month); day = calendar.get(calendar.day_of_month); mydb = new databasehelper(this); add = (button) this.findviewbyid(r.id.button); spinner = (edittext) this.findviewbyid(r.id.spinner); amt = (edittext) this.findviewbyid(r.id.edittext3); dte = (edittext) this.findviewbyid(r.id.edittext4); isupdate= getintent().getextras().getboolean("update"); if (isupdate) { id = getintent().getextras().getstring("id"); date = getintent().getextras().getstring("dte"); amount = getintent().getextras().getstring("expenses"); categ = getintent().getextras().getstring("catery"); amt.settext(amount); dte.settext(date); spinner.settext(categ); } add.setonclicklistener((view.onclicklistener) this); mydb = new databasehelper(this); add.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { categ = spinner.gettext().tostring(); amount = amt.gettext().tostring(); date = dte.tostring(); if (categ.length() > 0 && amount.length() > 0 && date.length() > 0) { savedata(); } else { alertdialog.builder alertbuilder = new alertdialog.builder(expenses.this); alertbuilder.settitle("invalid data"); alertbuilder.setmessage("please, enter valid data"); alertbuilder.setpositivebutton("ok", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int which) { dialog.cancel(); } }); alertbuilder.create().show(); } } }); cursor res = mydb.sum(); if (res.getcount() == 0) { tbal.settext("balance: 0"); } else { while (res.movetonext()) { tbal.settext("balance:" + res.getstring(0) + "\n"); } /** * save data sqlite */ dte.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { setdate(dte); } }); } } @suppresswarnings("deprecation") public void setdate(view view) { showdialog(999); } @override protected dialog oncreatedialog(int id) { // todo auto-generated method stub if (id == 999) { return new datepickerdialog(this, mydatelistener, year, month, day); } return null; } private datepickerdialog.ondatesetlistener mydatelistener = new datepickerdialog.ondatesetlistener() { @override public void ondateset(datepicker arg0, int arg1, int arg2, int arg3) { // todo auto-generated method stub showdate(arg1, arg2+1, arg3); } }; private void showdate(int year, int month, int day) { date.settext(new stringbuilder().append(day).append("/") .append(month).append("/").append(year)); } // savebutton click event private void savedata() { mydb = new databasehelper(this); database = mydb.getwritabledatabase(); contentvalues contentvalues = new contentvalues(); contentvalues.put(databasehelper.t2col_1, categ); contentvalues.put(databasehelper.t2col_2, amount); contentvalues.put(databasehelper.t2col_3, date); system.out.println(""); boolean isupdate = getintent().getextras().getboolean("update"); if (isupdate) { //update database new data database.update(databasehelper.table_name2, contentvalues, databasehelper.key_id + "=" + id, null); } else { //insert data database database.insert(databasehelper.table_name2, null, contentvalues); } //close database database.close(); finish(); } }
here display.java
private arraylist<string> exp = new arraylist<string>(); private arraylist<string> categy = new arraylist<string>(); private arraylist<string> dt = new arraylist<string>(); private arraylist<string> id = new arraylist<string>(); private listview userlist; private alertdialog.builder build; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.display); mhelper = new databasehelper(this); userlist = (listview) findviewbyid(r.id.list); database = mhelper.getwritabledatabase(); userlist.setonitemclicklistener(new adapterview.onitemclicklistener() { public void onitemclick(adapterview<?> arg0, view arg1, int arg2, long arg3) { intent = new intent(getapplicationcontext(), expenses.class); i.putextra("update", true); i.putextra("id",id.get(arg2)); i.putextra("dte", dt.get(arg2)); i.putextra("expenses", exp.get(arg2)); i.putextra("catery", categy.get(arg2)); startactivity(i); } }); @override protected void onresume() { displaydata(); super.onresume(); } private void displaydata() { cursor mcursor = database.rawquery("select * " + databasehelper.table_name2, null); id.clear(); exp.clear(); categy.clear(); dt.clear(); if (mcursor.movetofirst()) { { id.add(mcursor.getstring(mcursor.getcolumnindex(databasehelper.key_id))); exp.add(mcursor.getstring(mcursor.getcolumnindex(databasehelper.t2col_1))); categy.add(mcursor.getstring(mcursor.getcolumnindex(databasehelper.t2col_2))); dt.add(mcursor.getstring(mcursor.getcolumnindex(databasehelper.t2col_3))); } while (mcursor.movetonext()); } displayadapter disadpt = new displayadapter(display.this,id,exp, categy, dt); userlist.setadapter(disadpt); mcursor.close(); } }
here expenseactivity:
android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="category" android:id="@+id/textview2" /> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="amount" android:id="@+id/textview3" /> <edittext android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/edittext3" /> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="date" android:id="@+id/textview4" /> <edittext android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/edittext4" /> <button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="add" android:id="@+id/button" /> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textview5" /> <edittext android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/spinner" /> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/textview2" />
Comments
Post a Comment