14
14
15
15
/**
16
16
* 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.
18
18
* I provide two example: {@link com.daimajia.slider.library.SliderTypes.DefaultSliderView} and
19
19
* {@link com.daimajia.slider.library.SliderTypes.TextSliderView}
20
20
* 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){
173
173
}
174
174
175
175
/**
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
178
179
*/
179
- protected void loadImage ( ImageView targetImageView ){
180
+ protected void bindEventAndShow ( final View v , ImageView targetImageView ){
180
181
final BaseSliderView me = this ;
181
182
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
+
182
192
mLoadListener .onStart (me );
183
193
184
194
Picasso p = Picasso .with (mContext );
@@ -220,8 +230,9 @@ protected void loadImage(ImageView targetImageView){
220
230
rq .into (targetImageView ,new Callback () {
221
231
@ Override
222
232
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
+ }
225
236
}
226
237
227
238
@ Override
@@ -244,24 +255,6 @@ public ScaleType getScaleType(){
244
255
return mScaleType ;
245
256
}
246
257
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
-
265
258
/**
266
259
* the extended class have to implement getView(), which is called by the adapter,
267
260
* every extended class response to render their own view.
0 commit comments