android - How to make a ListView which row contains a CheckBox, a Spinner, a TextView and an ImageView? -
how make listview row contains checkbox, spinner, textview , imageview?
, when user selects checkbox, selected checkvox values send next activity.
please suggest me solution.
current code
public class myyogaposeslvactivity extends appcompatactivity { private listview mlistview; private button btncreate; private static int count = 0; private static boolean isnotadded = true; private checkbox checkbox_header; private popupwindow window; edittext edt; toolbar toolbar; private dbmanager dbmanager; textview txt; imageview img; final customadapter adapter = new customadapter(this); sparsebooleanarray mchecked = new sparsebooleanarray(); final static string[] textviewcontent = { "content1", "content2", "content3", "content4", "content5", "content6", "content7", "content8", "content9", "content10", "content11", "content12", "content13", "content14", "content15", "content16", }; final static string[] mspinneritems = {"1", "2", "3","4"}; final static int[] startimages = {r.drawable.areaname, r.drawable.email, r.drawable.user,r.drawable.gender, r.drawable.areaname, r.drawable.email, r.drawable.user,r.drawable.gender, r.drawable.areaname, r.drawable.email, r.drawable.user,r.drawable.gender, r.drawable.areaname, r.drawable.email, r.drawable.user,r.drawable.gender}; private static final int second_activity_result_code = 0; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_my_yogaposes_lv); mlistview = (listview) findviewbyid(r.id.listview); btncreate=(button)findviewbyid(r.id.button_submit); toolbar = (toolbar) findviewbyid(r.id.toolbar); setsupportactionbar(toolbar); textview toolbartitle = (textview) toolbar.findviewbyid(r.id.toolbar_title); getsupportactionbar().setdisplayshowtitleenabled(false); toolbartitle.settext("my yoga poses"); toolbar.settitlemarginbottom(50); getsupportactionbar().setdisplayhomeasupenabled(true); getsupportactionbar().sethomebuttonenabled(true); if (isnotadded) { final view headerview = getlayoutinflater().inflate(r.layout.my_yogaposes_header, mlistview, false); checkbox_header = (checkbox) headerview.findviewbyid( r.id.checkbox_header); checkbox_header.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { (int = 0; < count; i++) { mchecked.put(i, checkbox_header.ischecked()); } adapter.notifydatasetchanged(); } }); mlistview.addheaderview(headerview); // isnotadded = false; } mlistview.setadapter(adapter); mlistview.setonitemclicklistener(new adapterview.onitemclicklistener() { @override public void onitemclick(adapterview parent, view view, int position, long id) { if (position == 0) { toast.maketext(getapplicationcontext(), checkbox_header.getid() + "\n" + checkbox_header.ischecked(), toast.length_short).show(); } else { position = position - 1; // "-1" if header added toast.maketext(getapplicationcontext(), textviewcontent[position] + "\n" + mchecked.get(position), toast.length_short).show(); } } }); btncreate.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { int icount= 0; for(int i=0;i<mchecked.size();i++) { if(mchecked.get(i)) { icount++; } } if(icount>0) { dialog_alert(); } else if(checkbox_header.ischecked()){ dialog_alert(); } else if(!checkbox_header.ischecked()) { toast.maketext(myyogaposeslvactivity.this,"please select option", toast.length_long).show(); } else { toast.maketext(myyogaposeslvactivity.this,"plzz select option", toast.length_long).show(); } } }); //create pgm dbmanager = new dbmanager(this); dbmanager.open(); } //alertdialog public void dialog_alert(){ alertdialog.builder dialogbuilder = new alertdialog.builder(this); layoutinflater inflater = this.getlayoutinflater(); final view dialogview = inflater.inflate(r.layout.create_pgm_alert, null); dialogbuilder.setview(dialogview); edt = (edittext) dialogview.findviewbyid(r.id.edit1); dialogbuilder.settitle("create program"); dialogbuilder.setmessage("enter program name:"); dialogbuilder.setpositivebutton("done", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int whichbutton) { // intent intent = new intent(myyogaposeslvactivity.this, savedprogramlvactivity.class); // intent.putextra("data", edt.gettext().tostring()); // startactivity(intent); final string name = edt.gettext().tostring(); // dbmanager.insert(name); intent main = new intent(myyogaposeslvactivity.this, savedprogramlvactivity.class) .setflags(intent.flag_activity_clear_top); startactivity(main); } }); dialogbuilder.setnegativebutton("cancel", new dialoginterface.onclicklistener() { public void onclick(dialoginterface dialog, int whichbutton) { //pass } }); alertdialog b = dialogbuilder.create(); b.show(); } //customadapter public class customadapter extends baseadapter { activity sactivity; public string imc_met; public customadapter(final activity mactivity) { this.sactivity = mactivity; } @override public int getcount() { count = myyogaposeslvactivity.textviewcontent.length; return count; } @override public object getitem(int position) { return position; } @override public long getitemid(int position) { return position; } @override public view getview(final int position, view convertview, viewgroup parent) { view mview = convertview; if (mview == null) { final layoutinflater sinflater = (layoutinflater) sactivity.getsystemservice( context.layout_inflater_service); mview = sinflater.inflate(r.layout.my_yogaposeslv_single_item, null, false); } textview stv1 = (textview) mview.findviewbyid(r.id.listview_tv); imageview simg = (imageview) mview.findviewbyid(r.id.listview_imgs); checkbox mcheckbox = (checkbox) mview.findviewbyid( r.id.listview_cb); spinner sspinner = (spinner) mview.findviewbyid(r.id.listview_spinner); stv1.settext(myyogaposeslvactivity.textviewcontent[position]); simg.setimageresource(myyogaposeslvactivity.startimages[position]); //spinner arrayadapter<string> startcolorsadapter = new arrayadapter<string>(myyogaposeslvactivity.this, android.r.layout.simple_list_item_1, mspinneritems); sspinner.setadapter(startcolorsadapter); // sspinner.setselection(integer.parseint(listactivity.mspinneritems[position])); sspinner.setonitemselectedlistener(new adapterview.onitemselectedlistener() { @override public void onitemselected(adapterview<?> parent, view view, int position2, long id) { // string text = sspinner.getselecteditem().tostring(); } @override public void onnothingselected(adapterview<?> parent) { } }); //checkbox mcheckbox.setoncheckedchangelistener( new compoundbutton.oncheckedchangelistener() { @override public void oncheckedchanged(compoundbutton buttonview, boolean ischecked) { if (ischecked) { mchecked.put(position, ischecked); if (isallvalueschecked()) { checkbox_header.setchecked(ischecked); } } else { mchecked.delete(position); checkbox_header.setchecked(ischecked); } } }); mcheckbox.setchecked((mchecked.get(position) == true ? true : false)); mview.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { showpopupwindow(); } }); return mview; } protected boolean isallvalueschecked() { (int = 0; < count; i++) { if (!mchecked.get(i)) { return false; } } return true; } }
Comments
Post a Comment