android - Where should i call a method from database for removing item for listView? -
i need removing item listview , database. saw questions similar mine here asked, couldn't done answers because i'm new in , still catching this.
by way, listview in fragment , here part of code fragment activity:
@override public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) { view view = inflater.inflate(r.layout.fragment_moj_spisak, container, false); final edittext unos = (edittext)view.findviewbyid(r.id.edittext1); final button dodajdugme = (button)view.findviewbyid(r.id.button1); final listview lv = (listview)view.findviewbyid(r.id.listview1); final dodajproizvodlistadapter dpl = new dodajproizvodlistadapter(getactivity()); dpl.addall(dbhelper.getconnection(getactivity()).getallproizvodi()); lv.setadapter(dpl); dodajdugme.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { dbhelper.getconnection(getactivity()) .saveproizvod(unos.gettext().tostring()); arraylist<string> allproizvodi = dbhelper.getconnection(getactivity()).getallproizvodi(); dpl.addall(allproizvodi); unos.settext(""); toast.maketext(getactivity(), "proizvod je dodat", toast.length_short).show(); } }); return view; } }
and here part of code adapter:
@override public view getview(int position, view convertview, viewgroup parent) { if (convertview == null) { layoutinflater minflater = (layoutinflater) activity.getsystemservice(activity.layout_inflater_service); convertview = minflater.inflate(r.layout.dodaj_proizvod_list_item, parent, false); } imageview iv = (imageview) convertview.findviewbyid(r.id.imageview1); iv.settag(position); iv.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { integer index = (integer) v.gettag(); lv.remove(index.intvalue()); notifydatasetchanged(); } }); final checkedtextview ctv = (checkedtextview)convertview.findviewbyid(r.id.textview1); ctv.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { if (ctv.ischecked()) ctv.setchecked(false); else ctv.setchecked(true); } }); ctv.settext(lv.get(position)); return convertview; } }
and here's code database:
public class dbhelper extends sqliteopenhelper { private static final string database_name = "proizvod.db"; private static final int database_version = 1; private final string table_proizvodi = "proizvodi"; private final string column_id = "id"; private final string column_proizvod = "proizvodi"; private static dbhelper dbh; private dbhelper(activity activity) { super(activity, database_name, null, database_version); } public static synchronized dbhelper getconnection(activity activity) { if (dbh == null) dbh = new dbhelper(activity); return dbh; } @override public void oncreate(sqlitedatabase db) { string upitzapravljanjebaze = "create table "+table_proizvodi+"("+column_id+" integer primary key, "+column_proizvod+" text);"; db.execsql(upitzapravljanjebaze); } @override public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { if (newversion > oldversion) { db.execsql("drop table" + "table_proizvodi"); oncreate(db); } } public arraylist<string> getallproizvodi() { arraylist<string> toret = new arraylist<string>(); sqlitedatabase db = getreadabledatabase(); cursor c = db.rawquery("select * " + table_proizvodi, null); c.movetofirst(); while(c.isafterlast() == false) { toret.add(c.getstring(c.getcolumnindex(column_proizvod))); c.movetonext(); } return toret; } public long saveproizvod(string proizvod) { sqlitedatabase db = getwritabledatabase(); contentvalues cv = new contentvalues(); cv.put(column_proizvod, proizvod); return db.insert(table_proizvodi, null, cv); } public void deletebyname(string name) { sqlitedatabase db= this.getwritabledatabase(); db.delete(table_proizvodi, column_id +"=?", new string [] { name }); db.close(); }
activity.java
listview userlist; usercustomadapter useradapter; arraylist<user> userarray = new arraylist<user>(); @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); /** * add item in arraylist */ userarray.add(new user("mumer", "spain", "spain")); userarray.add(new user("jon", "ew", "usa")); userarray.add(new user("broom", "span", "swa")); userarray.add(new user("lee", "aus", "aus")); userarray.add(new user("jon", "ew", "usa")); userarray.add(new user("broom", "span", "swa")); userarray.add(new user("lee", "aus", "aus")); /** * set item adapter */ useradapter = new usercustomadapter(mainactivity.this, r.layout.row, userarray); userlist = (listview) findviewbyid(r.id.listview); userlist.setitemscanfocus(false); userlist.setadapter(useradapter); /** * on item click listener */ userlist.setonitemclicklistener(new onitemclicklistener() { @override public void onitemclick(adapterview<?> parent, view v, final int position, long id) { log.i("list view clicked", "**********"); toast.maketext(mainactivity.this, "list view clicked:" + position, toast.length_long) .show(); } }); }
customadapter.java
public class usercustomadapter extends arrayadapter<user> { context context; int layoutresourceid; arraylist<user> data = new arraylist<user>(); public usercustomadapter(context context, int layoutresourceid, arraylist<user> data) { super(context, layoutresourceid, data); this.layoutresourceid = layoutresourceid; this.context = context; this.data = data; } @override public view getview(int position, view convertview, viewgroup parent) { view row = convertview; userholder holder = null; if (row == null) { layoutinflater inflater = ((activity) context).getlayoutinflater(); row = inflater.inflate(layoutresourceid, parent, false); holder = new userholder(); holder.textname = (textview) row.findviewbyid(r.id.textview1); holder.textaddress = (textview) row.findviewbyid(r.id.textview2); holder.textlocation = (textview) row.findviewbyid(r.id.textview3); holder.btnedit = (button) row.findviewbyid(r.id.button1); holder.btndelete = (button) row.findviewbyid(r.id.button2); row.settag(holder); } else { holder = (userholder) row.gettag(); } user user = data.get(position); holder.textname.settext(user.getname()); holder.textaddress.settext(user.getaddress()); holder.textlocation.settext(user.getlocation()); holder.btnedit.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub log.i("edit button clicked", "**********"); toast.maketext(context, "edit button clicked", toast.length_long).show(); } }); holder.btndelete.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub log.i("delete button clicked", "**********"); toast.maketext(context, "delete button clicked", toast.length_long).show(); } }); return row; } static class userholder { textview textname; textview textaddress; textview textlocation; button btnedit; button btndelete; }
Comments
Post a Comment