java - Saving Listview before Exiting App -
i save listview , components when exit app , come still available. cleared, , forced make new items.
i have been doing research on onsaveinstancestate, not sure how implement in current situation.
what should looking store current listview state? array?
mainactivity
@override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); setrequestedorientation(activityinfo.screen_orientation_portrait); // check whether we're recreating destroyed instance //if (savedinstancestate != null) { // restore value of members saved state //muser = savedinstancestate.getstring(state_user); //} else { // initialize members default values new // instance //muser = "newuser"; //} // // detail controls tvtitle = (textview) findviewbyid(r.id.textviewtitle); tvdate = (textview) findviewbyid(r.id.textviewdate); tvtime = (textview) findviewbyid(r.id.textviewtime); ivpic = (imageview) findviewbyid(r.id.imageview1); add = (imagebutton) findviewbyid(r.id.add); add.setonclicklistener(this); } @override public void onclick(view v) { // todo auto-generated method stub switch (v.getid()) { case r.id.add: intent intent = new intent(this, createactivity.class); startactivityforresult(intent, 100); break; } } @override public void onactivityresult(int requestcode, int resultcode, intent data) { super.onactivityresult(requestcode, resultcode, data); // create adapter convert array views eventadapter adapter = new eventadapter(this, lstevents); // attach adapter list view listview = (listview) findviewbyid(r.id.listviewfragment); listview.setadapter(adapter); if (requestcode == 100) { if (resultcode == result_ok) { bundle b = data.getextras(); title = b.getstring("title"); time = b.getstring("time"); date = b.getstring("date"); // retrieving bitmap createactivity bitmap bitmap = (bitmap) b.getparcelable("drawable"); // converting bitmap drawable drawable drawable = new bitmapdrawable(getresources(), bitmap); log.e("title", title); log.e("time", time); log.e("date", date); event newevent = new event(); newevent.set_date(date); newevent.set_title(title); newevent.set_time(time); // set drawable newevent.set_drawable(drawable); lstevents.add(newevent); adapter.addall(lstevents); adapter.notifydatasetchanged(); } } } @override protected void onsaveinstancestate(bundle savedinstancestate) { // savedinstancestate.putint(state_user, muser); // call superclass can save view hierarchy state super.onsaveinstancestate(savedinstancestate); } }
you save elements in list inside sqlite db
, or in file
, read , put in listview.
you can mark event
class serializable
can save/restore class file , let java of work
Comments
Post a Comment