android - Avoid duplicates in list -
android - Avoid duplicates in list -
i trying avoid duplicate values in list it's not working. can help me this? did lot of work on it, i'm new android , coding. can help me have made mistake?
import java.util.arraylist; public class dynamic extends activity { button bt, bt2, ent, clr; edittext et, et2; string input, input1; public static arraylist<string> k_listitems = new arraylist<string>(); public static arraylist<string> p_listitems = new arraylist<string>(); @override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); bt = (button) findviewbyid(r.id.nameok); et = (edittext) findviewbyid(r.id.name); input = et.gettext().tostring(); bt.setonclicklistener(new view.onclicklistener() { public void onclick(view v) { if (et.gettext().length() == 0) { context context = getapplicationcontext(); charsequence text = "enter name"; int duration = toast.length_short; toast toast = toast.maketext(context, text, duration); toast.show(); } else { { (int = 0; < k_listitems.size(); i++) { if (k_listitems.get(i).equals("input")) { intent in = new intent(dynamic.this, dynamic.class); startactivity(in); toast.maketext(getapplicationcontext(), "name exists", toast.length_short).show(); break; } } } if (et.gettext().length() == 0) { context context = getapplicationcontext(); charsequence text = "enter number"; int duration = toast.length_short; toast toast = toast.maketext(context, text, duration); toast.show(); } else { et2.setvisibility(view.visible); bt2.setvisibility(view.visible); bt2.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub if (et2.gettext().length() == 0) { context context = getapplicationcontext(); charsequence text = "enter number"; int duration = toast.length_short; toast toast = toast.maketext(context, text, duration); toast.show(); } else { ent.setvisibility(view.visible); clr.setvisibility(view.visible); ent.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { if (null != input && input.length() > 0) { k_listitems.add(input); } if (null != input1 && input1.length() > 0) { p_listitems.add(input1); } input = et.gettext().tostring(); input1 = et2.gettext().tostring(); intent in = new intent(dynamic.this, getlist.class); in.putextra("input", input); in.putextra("input1", input1); startactivity(in); } }); clr.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { intent in4 = new intent(dynamic.this, dynamic.class); startactivity(in4); } }); } } }); } } } }); } protected void onstart() { super.onstart(); et2 = (edittext) findviewbyid(r.id.number); bt2 = (button) findviewbyid(r.id.numberok); ent = (button) findviewbyid(r.id.enter); clr = (button) findviewbyid(r.id.clear); } public void onbackpressed() { intent startmain = new intent(intent.action_main); startmain.addcategory(intent.category_home); startmain.setflags(intent.flag_activity_new_task); startactivity(startmain); } public boolean oncreateoptionsmenu(menu menu) { getmenuinflater().inflate(r.menu.activity_main, menu); homecoming true; } }
mylist list...
import java.util.arraylist; public class getlist extends activity { listview lv; button bt3; dialog d; edittext edt; string x; public static arraylist<string> x_listitems = new arraylist<string>(); public static arraylist<string> y_listitems = new arraylist<string>(); string inp, inp1; public static arrayadapter<string> a_adapter; public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.list); lv = (listview) findviewbyid(r.id.listview1); intent in = getintent(); inp = in.getstringextra("input"); inp1 = in.getstringextra("input1"); a_adapter = new arrayadapter<string>(this, android.r.layout.simple_list_item_1, x_listitems); lv.setadapter(a_adapter); if (null != inp && inp.length() > 0) { x_listitems.add(inp); a_adapter.notifydatasetchanged(); } if (null != inp1 && inp1.length() > 0) { y_listitems.add(inp1); log.v("num", "" + y_listitems); } lv.setonitemclicklistener(new onitemclicklistener() { @suppresswarnings("deprecation") @override public void onitemclick(adapterview<?> arg0, view v, int position, long arg3) { if (x_listitems.get(position) != null) { alertdialog ab = new alertdialog.builder( getlist.this).create(); ab.settitle("details"); ab.setmessage("name:" + x_listitems.get(position) + "\n" + "number" + y_listitems.get(position)); ab.setbutton("ok", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int which) { toast.maketext(getapplicationcontext(), "thanx visiting", toast.length_short).show(); } }); ab.show(); } } }); lv.setonitemlongclicklistener(new onitemlongclicklistener() { @suppresswarnings("deprecation") @override public boolean onitemlongclick(adapterview<?> arg0, view v, final int position, long arg3) { if (x_listitems.get(position) != null) { alertdialog ab = new alertdialog.builder( getlist.this).create(); ab.settitle("slect option"); ab.setbutton("edit", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int id) { final string z = x_listitems.get(position); log.v("position", "" + z); d = new dialog(getlist.this); d.setcontentview(r.layout.abc); d.settitle("enter new name"); button sub = (button) d.findviewbyid(r.id.submit); edt = (edittext) d.findviewbyid(r.id.edt); edt.settext(x_listitems.get(position)); sub.setonclicklistener(new onclicklistener() { public void onclick(view v) { x_listitems.remove(position); x = edt.gettext().tostring(); x_listitems.add(position, x); string p = x_listitems.get(position); string f = y_listitems.get(position); y_listitems.set(position, f); log.v("changednum", "" + inp1); a_adapter.notifydatasetchanged(); lv.setadapter(a_adapter); toast.maketext(getapplicationcontext(), "" + edt.gettext().tostring().trim(), 4000).show(); d.dismiss(); } }); d.show(); } }); ab.setbutton2("delete", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int id) { x_listitems.remove(position); y_listitems.remove(position); a_adapter.notifydatasetchanged(); lv.setadapter(a_adapter); } }); ab.show(); } homecoming true; } private int get(int position) { homecoming 0; } }); } public void onbackpressed() { super.onbackpressed(); intent in4 = new intent(getlist.this, dynamic.class); startactivity(in4); } }
set not allow duplicates...see illustration below
hashset<string> x_hashset = new hashset<string>(); hashset<string> y_hashset = new hashset<string>(); x_hashset.addall(x_listitems); y_hashset.addall(y_listitems); x_listitems.clear(); y_listitems.clear(); x_listitems.addall(x_hashset); y_listitems.addall(y_hashset);
then add together list adapter. that's it.
hope help ;)
android arraylist duplicates
Comments
Post a Comment