android - Change gravity programmatically on ListView item -
i have listview in items render on left, , on right. don't know how make happen though. thinking of calling setgravity(gravity.right) on view adapter's getview() method returns, method apparently exists viewgroup, makes me think change gravity of object's contents. this:
getview(int position, view toreturn, viewgroup parent) { // holder pattern, *yawn* if (needstobeonright) { toreturn.setgravity(gravity.right) // or whatever i'm supposed } return toreturn; } the view represented toreturn expected relativelayout, supppose in theory cast 1 , try above, discussed above, doubt work. how should proceed?
turns out there. in order make work, had wrap view want right-or-left-orient in framelayout. make toreturn in above code framelayout.
viewholder holder = (viewholder) toreturn.gettag(); // view's layoutparams. in case, since wrapped framelayout, // type of layoutparams necessary. framelayout.layoutparams params = (framelayout.layoutparams) holder.viewthatmightneedtobeonright.getlayoutparams(); // set gravity right or left necessary within layoutparams. if (params != null) { if (needstobeonright) { params.gravity = gravity.right; } else { params.gravity = gravity.left; } // assign newly edited layoutparams view. holder.viewthatmightneedtobeonright.setlayoutparams(params); }
Comments
Post a Comment