android - Use a Spinner as Dialog Title -
i'm trying create alertdialog (which should appear when textvie exercise clicked), includes spinner title. should alter content of dialog list, when diffrent item selected in spinner.
exercise = (textview)findviewbyid(r.id.add_exerc); exercise.settext("test"); initexerocl(); //init onitem private void initexerocl(){ exercise.setonclicklistener(new view.onclicklistener() { @override public void onclick(view v) { //diatitle used string[] create dialoglist alertdialog = showlistcheckpickerdialog(diatitle); a.show(); } }); } public alertdialog showlistcheckpickerdialog(int i){ mselecteditems = new arraylist(); //saves selected items layoutinflater inflater = getlayoutinflater(); view v = inflater.inflate(r.layout.add_dia_spinner_title, null); s = (spinner) findviewbyid(r.id.add_dia_t); arrayadapter<charsequence> adapters = arrayadapter.createfromresource(this, r.array.trainings, r.layout.spinner_item); adapters.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item); s.setadapter(adapters); s.setonitemselectedlistener(this); alertdialog.builder builder = new alertdialog.builder(this); builder.settitle(r.string.a_add) //set view spinner .setcustomtitle(v) .setmultichoiceitems(diatitle, null, new dialoginterface.onmultichoiceclicklistener() { @override public void onclick(dialoginterface dialog, int which, boolean ischecked) { if (ischecked) { // if user checked item, add together selected items mselecteditems.add(which); } else if (mselecteditems.contains(which)) { // else, if item in array, remove mselecteditems.remove(integer.valueof(which)); } } }) // set action buttons .setpositivebutton(r.string.ok, new dialoginterface.onclicklistener() { @override public void onclick(dialoginterface dialog, int id) { } }) .setnegativebutton(r.string.cancel, new dialoginterface.onclicklistener() { @override public void onclick(dialoginterface dialog, int id) { } }); homecoming builder.create(); } i hope nows solution or improve way, because way seem quite complicated me (and not work). thanks!
instead of inflating layout create spinner programatically , add together custom title.
sample:
spinner s2 = new spinner(this); arrayadapter<charsequence> adapters = arrayadapter.createfromresource(this, r.array.trainings, r.layout.spinner_item); adapters.setdropdownviewresource(android.r.layout.simple_spinner_dropdown_item); s.setadapter(adapters); s.setonitemselectedlistener(this); alertdialog.builder builder = new alertdialog.builder(this); builder.settitle("hello") //set view spinner .setcustomtitle(s2) // set action buttons .setpositivebutton("okie", new dialoginterface.onclicklistener() { @override public void onclick(dialoginterface dialog, int id) { } }) .setnegativebutton("lawl", new dialoginterface.onclicklistener() { @override public void onclick(dialoginterface dialog, int id) { } }) android android-spinner android-alertdialog
No comments:
Post a Comment