android - Spinner with different view for each item -
i try make spinner first item in dropdownview has no radio button. override viewtypes of arrayadapter make sure there 2 different views in spinner , views don't recycled wrong item. override getdropdownview of arrayadapter remove radio button first item. working, selected item doesn't show radio button. think wouldn't have setcheckmarkdrawable(android.r.drawable.btn_radio), because should there, not case. ideas? thank you!
@override public int getviewtypecount() { return 2; } @override public int getitemviewtype(int position) { if (position == 0) return 0; else return 1; } @override public view getdropdownview(int position, view convertview, android.view.viewgroup parent) { if (position == 0) { view vw = super.getdropdownview(position, convertview, parent); checkedtextview tv = (checkedtextview) vw; if (tv != null) { tv.setcheckmarkdrawable(null); tv.settextcolor(color.gray); return tv; } return vw; } else { view vw = super.getdropdownview(position, convertview, parent); checkedtextview tv = (checkedtextview) vw; if (tv != null) { tv.setcheckmarkdrawable(android.r.drawable.btn_radio); tv.settextcolor(color.black); return tv; } return vw; } }
i have same problem. , yes, pzagor2 said - spinner doesn't support multi layout recycling dropdown list (getdropdownview). doesn't call getviewtypecount , getitemviewtype. here issue - #17128.
but still call these methods getview used display current spinner item , detect spinner width.
workaround: can check if supplied convertview has correct type , don't use if it's not true. in cases, example, when have 2 types , 1 type used less other.
Comments
Post a Comment