android - How can I tag parent list items to child list -
how can possible tag parent list items child list if select child item have disable parent list item . please me new android.
activity :
this activity click on parent list item dialog child list .
listview1.setadapter(adapter); adapter.notifydatasetchanged(); listview1.setonitemlongclicklistener(new adapterview.onitemlongclicklistener() { @override public boolean onitemlongclick(adapterview<?> parent, view view, int position, long id) { // todo auto-generated method stub newlistitems2.clear(); newlistitems2.addall(itemslist1); // arraylist newlistitems2 = new arraylist(); //newlistitems2.add(itemslist1); dialog = new dialog(pendingordersactitvity.this); dialog.setcontentview(r.layout.itembumping); dialog.show(); listview1.settag(position); list1 = (listview) dialog.findviewbyid(r.id.list1); itembumpingadapter adapter2 = new itembumpingadapter(pendingordersactitvity.this, newlistitems2); list1.setadapter(adapter2); button okbutton = (button) dialog.findviewbyid(r.id.ok1); okbutton.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { dialog.dismiss(); } }); button cancelbutton = (button) dialog.findviewbyid(r.id.cancel1); cancelbutton.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { // todo auto-generated method stub dialog.dismiss(); } }); return true; } }); parent list adapter :
where parent list loads
child adapter:
public view getview(int position, view convertview, viewgroup parent) { viewholder holder; string item = null, qty = null; if (convertview == null) { holder = new viewholder(); convertview = inflator.inflate(r.layout.itembumpingadapter, null); holder.qty = (textview) convertview.findviewbyid(r.id.qty); holder.name = (textview) convertview.findviewbyid(r.id.item); holder.childtext = (textview) convertview .findviewbyid(r.id.childitem); holder.qtychild = (textview) convertview .findviewbyid(r.id.qtychild); holder.checkbox = (checkbox) convertview.findviewbyid(r.id.chckbox1); convertview.settag(holder); } else { holder = (viewholder) convertview.gettag(); } parentobjid = newlistitems.get(position).getparentobjectid(); if (!parentobjid.isempty()) { holder.name.settext(" " + newlistitems.get(position).getitemnnamedisplay()); holder.name.settextcolor(color.parsecolor("#cc0000")); holder.qty.settext(" " + string.valueof(newlistitems.get(position) .getquantitydisplay())); holder.qty.settextcolor(color.parsecolor("#cc0000")); } else { holder.name.settext(newlistitems.get(position).getitemnnamedisplay()); holder.qty.settext(string.valueof(newlistitems.get(position) .getquantitydisplay())); holder.name.settextcolor(color.parsecolor("#ffffff")); holder.qty.settextcolor(color.parsecolor("#ffffff")); holder.checkbox.setchecked(false); holder.checkbox.settag(position); holder.checkbox.setonclicklistener(new onclicklistener() { @override public void onclick(view v) { int pos = (integer) v.gettag(); newlistitems.get(pos).setchecked(!newlistitems.get(pos).ischecked()); } }); if (newlistitems.get(position).ischecked()) { holder.name.setenabled(true); holder.name.setbackgroundcolor(color.parsecolor("#dcdbdb")); } else { holder.name.setenabled(false); } } return convertview; }
you should use expandablelistview if have child list parent list. if not familiar check this link learn more.
there onchildclicklistener provided expandablelistview when clicked gives both, child's position , parents's position:
// listview on child click listener explistview.setonchildclicklistener(new onchildclicklistener() { @override public boolean onchildclick(expandablelistview parent, view v, int groupposition, int childposition, long id) { // todo auto-generated method stub toast.maketext( getapplicationcontext(), listdataheader.get(groupposition) + " : " + listdatachild.get( listdataheader.get(groupposition)).get( childposition), toast.length_short) .show(); return false; } }); hope helps!!
Comments
Post a Comment