Skip to content

Commit 6858e4b

Browse files
committed
fix #18
1 parent 8eaaeea commit 6858e4b

File tree

3 files changed

+19
-30
lines changed

3 files changed

+19
-30
lines changed

library/src/main/java/com/daimajia/slider/library/SliderTypes/BaseSliderView.java

Lines changed: 17 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414

1515
/**
1616
* When you want to make your own slider view, you must extends from this class.
17-
* BaseSliderView provides some useful methods. Such loadImage, setImage,and so on.
17+
* BaseSliderView provides some useful methods.
1818
* I provide two example: {@link com.daimajia.slider.library.SliderTypes.DefaultSliderView} and
1919
* {@link com.daimajia.slider.library.SliderTypes.TextSliderView}
2020
* if you want to show progressbar, you just need to set a progressbar id as @+id/loading_bar.
@@ -173,12 +173,22 @@ public BaseSliderView setOnSliderClickListener(OnSliderClickListener l){
173173
}
174174

175175
/**
176-
* when you want to extends this class, please use this method to load a image to a imageview.
177-
* @param targetImageView
176+
* When you want to implement your own slider view, please call this method in the end in `getView()` method
177+
* @param v the whole view
178+
* @param targetImageView where to place image
178179
*/
179-
protected void loadImage(ImageView targetImageView){
180+
protected void bindEventAndShow(final View v, ImageView targetImageView){
180181
final BaseSliderView me = this;
181182

183+
v.setOnClickListener(new View.OnClickListener() {
184+
@Override
185+
public void onClick(View v) {
186+
if(mOnSliderClickListener != null){
187+
mOnSliderClickListener.onSliderClick(me);
188+
}
189+
}
190+
});
191+
182192
mLoadListener.onStart(me);
183193

184194
Picasso p = Picasso.with(mContext);
@@ -220,8 +230,9 @@ protected void loadImage(ImageView targetImageView){
220230
rq.into(targetImageView,new Callback() {
221231
@Override
222232
public void onSuccess() {
223-
if(progressBar !=null)
224-
progressBar.setVisibility(View.INVISIBLE);
233+
if(v.findViewById(R.id.loading_bar) != null){
234+
v.findViewById(R.id.loading_bar).setVisibility(View.INVISIBLE);
235+
}
225236
}
226237

227238
@Override
@@ -244,24 +255,6 @@ public ScaleType getScaleType(){
244255
return mScaleType;
245256
}
246257

247-
private View progressBar = null;
248-
/**
249-
* when you want to extends this class, you must call this method to bind click event to your view.
250-
* @param v
251-
*/
252-
protected void bindClickEvent(View v){
253-
final BaseSliderView me = this;
254-
progressBar = v.findViewById(R.id.loading_bar);
255-
v.setOnClickListener(new View.OnClickListener() {
256-
@Override
257-
public void onClick(View v) {
258-
if(mOnSliderClickListener != null){
259-
mOnSliderClickListener.onSliderClick(me);
260-
}
261-
}
262-
});
263-
}
264-
265258
/**
266259
* the extended class have to implement getView(), which is called by the adapter,
267260
* every extended class response to render their own view.

library/src/main/java/com/daimajia/slider/library/SliderTypes/DefaultSliderView.java

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,7 @@ public DefaultSliderView(Context context) {
2222
public View getView() {
2323
View v = LayoutInflater.from(getContext()).inflate(R.layout.render_type_default,null);
2424
ImageView target = (ImageView)v.findViewById(R.id.daimajia_slider_image);
25-
26-
loadImage(target);
27-
bindClickEvent(v);
28-
25+
bindEventAndShow(v, target);
2926
return v;
3027
}
3128
}

library/src/main/java/com/daimajia/slider/library/SliderTypes/TextSliderView.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,7 @@ public View getView() {
2222
ImageView target = (ImageView)v.findViewById(R.id.daimajia_slider_image);
2323
TextView description = (TextView)v.findViewById(R.id.description);
2424
description.setText(getDescription());
25-
loadImage(target);
26-
bindClickEvent(v);
25+
bindEventAndShow(v, target);
2726
return v;
2827
}
2928
}

0 commit comments

Comments
 (0)