Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
104 L’art du développement Android
RatingBar getRatingBar() {
if (rate==null) {
rate=(RatingBar)base.getChildAt(0);
}
return(rate);
}
void setRatingBar(RatingBar rate) {
this.rate=rate;
}
View getGuts() {
if (guts==null) {
guts=base.getChildAt(1);
}
return(guts);
}
void setGuts(View guts) {
this.guts=guts;
}
}
Lorsque tout ceci est en place, le code de RateListView devient assez simple :
public class RateListView extends ListView {
public RateListView(Context context) {
super(context);
}
public RateListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public RateListView(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
}
public void setAdapter(ListAdapter adapter) {
super.setAdapter(new RateableWrapper(getContext(), adapter));
}
}
On hérite simplement de ListView et on redéfinit setAdapter() pour pouvoir envelopper
dans notre propre RateableWrapper le ListAdapter fourni en paramètre.
Livre Android.book Page 104 Dimanche, 8. novembre 2009 12:23 12
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
104 L’art du développement Android
RatingBar getRatingBar() {
if (rate==null) {
rate=(RatingBar)base.getChildAt(0);
}
return(rate);
}
void setRatingBar(RatingBar rate) {
this.rate=rate;
}
View getGuts() {
if (guts==null) {
guts=base.getChildAt(1);
}
return(guts);
}
void setGuts(View guts) {
this.guts=guts;
}
}
Lorsque tout ceci est en place, le code de RateListView devient assez simple :
public class RateListView extends ListView {
public RateListView(Context context) {
super(context);
}
public RateListView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public RateListView(Context context, AttributeSet attrs,
int defStyle) {
super(context, attrs, defStyle);
}
public void setAdapter(ListAdapter adapter) {
super.setAdapter(new RateableWrapper(getContext(), adapter));
}
}
On hérite simplement de ListView et on redéfinit setAdapter() pour pouvoir envelopper
dans notre propre RateableWrapper le ListAdapter fourni en paramètre.
Livre Android.book Page 104 Dimanche, 8. novembre 2009 12:23 12
