Skip to content

Commit ccd1e0c

Browse files
committed
Modified hot fragment
1 parent 60121c2 commit ccd1e0c

File tree

5 files changed

+134
-7
lines changed

5 files changed

+134
-7
lines changed

app/src/main/java/com/code4a/jlibrarydemo/home/frag/hot/HotFragment.java

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,41 @@
22

33
import android.os.Bundle;
44
import android.view.View;
5+
import android.widget.ImageView;
56
import android.widget.TextView;
67

8+
import com.bumptech.glide.Glide;
9+
import com.bumptech.glide.load.engine.DiskCacheStrategy;
710
import com.code4a.jlibrarydemo.R;
11+
import com.code4a.jlibrarydemo.data.GirlsBean;
812
import com.code4a.jlibrarydemo.home.frag.HomeBaseFragment;
913
import com.dalong.library.listener.OnItemSelectedListener;
1014
import com.dalong.library.view.LoopRotarySwitchView;
1115

16+
import java.util.List;
17+
1218
import butterknife.BindView;
19+
import butterknife.BindViews;
1320

1421

15-
public class HotFragment extends HomeBaseFragment {
22+
public class HotFragment extends HomeBaseFragment implements HotView{
1623

1724
@BindView(R.id.mLoopRotarySwitchView)
1825
LoopRotarySwitchView mLoopRotarySwitchView;
1926
@BindView(R.id.current_hot_name)
2027
TextView hotName;
2128

29+
@BindViews({R.id.hot_movie1, R.id.hot_movie2, R.id.hot_movie3, R.id.hot_movie4, R.id.hot_movie5, R.id.hot_movie6})
30+
List<ImageView> imageViews;
31+
32+
private HotPresenter mHotPresenter;
33+
2234
@Override
2335
protected void initView(View view, Bundle savedInstanceState) {
2436
setTitle(R.string.hot_groom);
37+
38+
mHotPresenter = new HotPresenterImpl(this);
39+
2540
mLoopRotarySwitchView.setR(700);
2641
mLoopRotarySwitchView.setOnItemSelectedListener(new OnItemSelectedListener() {
2742
@Override
@@ -31,8 +46,39 @@ public void selected(int item, View view) {
3146
});
3247
}
3348

49+
@Override
50+
public void onResume() {
51+
super.onResume();
52+
mHotPresenter.start(1, imageViews.size());
53+
}
54+
55+
@Override
56+
public void onPause() {
57+
super.onPause();
58+
mHotPresenter.cancel();
59+
}
60+
3461
@Override
3562
protected int getLayoutId() {
3663
return R.layout.fragment_hot;
3764
}
65+
66+
@Override
67+
public void showGirl(List<GirlsBean.ResultsEntity> datas) {
68+
for (int i = 0; i< imageViews.size(); i++){
69+
Glide.with(getActivity())
70+
.load(datas.get(i).getUrl())
71+
.into(imageViews.get(i));
72+
}
73+
}
74+
75+
@Override
76+
public void showGirl() {
77+
for (int i = 0; i< imageViews.size(); i++){
78+
Glide.with(getActivity())
79+
.load(R.drawable.login_bg)
80+
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
81+
.into(imageViews.get(i));
82+
}
83+
}
3884
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.code4a.jlibrarydemo.home.frag.hot;
2+
3+
import com.code4a.jlibrary.base.presenter.BasePresenter;
4+
5+
/**
6+
* Created by code4a on 2017/1/12.
7+
*/
8+
9+
public abstract class HotPresenter extends BasePresenter<HotView> {
10+
11+
protected HotPresenter(HotView view) {
12+
super(view);
13+
}
14+
15+
public abstract void start(int page, int size);
16+
17+
public abstract void cancel();
18+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.code4a.jlibrarydemo.home.frag.hot;
2+
3+
import com.code4a.jlibrarydemo.commoninteractor.GirlsCommonInteractor;
4+
import com.code4a.jlibrarydemo.commoninteractor.GirlsCommonInteractorImpl;
5+
import com.code4a.jlibrarydemo.data.GirlsBean;
6+
7+
/**
8+
* Created by code4a on 2017/1/12.
9+
*/
10+
11+
public class HotPresenterImpl extends HotPresenter {
12+
13+
private GirlsCommonInteractor girlsCommonInteractor;
14+
15+
protected HotPresenterImpl(HotView view) {
16+
super(view);
17+
this.girlsCommonInteractor = new GirlsCommonInteractorImpl();
18+
}
19+
20+
@Override
21+
public void start(int page, int size) {
22+
girlsCommonInteractor.getRes(page, size, new GirlsCommonInteractor.LoadSplashResListener() {
23+
@Override
24+
public void onResLoaded(GirlsBean girlsBean) {
25+
getView().showGirl(girlsBean.getResults());
26+
}
27+
28+
@Override
29+
public void onDataNotAvailable() {
30+
getView().showGirl();
31+
}
32+
});
33+
}
34+
35+
@Override
36+
public void cancel() {
37+
girlsCommonInteractor.cancel();
38+
release();
39+
}
40+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.code4a.jlibrarydemo.home.frag.hot;
2+
3+
import com.code4a.jlibrary.base.presenter.view.BasePresenterView;
4+
import com.code4a.jlibrarydemo.data.GirlsBean;
5+
6+
import java.util.List;
7+
8+
/**
9+
* Created by code4a on 2017/1/12.
10+
*/
11+
12+
public interface HotView extends BasePresenterView {
13+
14+
void showGirl(List<GirlsBean.ResultsEntity> datas);
15+
16+
void showGirl();
17+
}

app/src/main/res/layout/fragment_hot.xml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,34 +19,40 @@
1919
app:direction="right">
2020

2121
<ImageView
22+
android:id="@+id/hot_movie1"
2223
android:layout_width="wrap_content"
2324
android:layout_height="wrap_content"
24-
android:src="@drawable/login_bg" />
25+
android:scaleType="fitCenter"/>
2526

2627
<ImageView
28+
android:id="@+id/hot_movie2"
2729
android:layout_width="wrap_content"
2830
android:layout_height="wrap_content"
29-
android:src="@drawable/login_bg" />
31+
android:scaleType="fitCenter" />
3032

3133
<ImageView
34+
android:id="@+id/hot_movie3"
3235
android:layout_width="wrap_content"
3336
android:layout_height="wrap_content"
34-
android:src="@drawable/login_bg" />
37+
android:scaleType="fitCenter" />
3538

3639
<ImageView
40+
android:id="@+id/hot_movie4"
3741
android:layout_width="wrap_content"
3842
android:layout_height="wrap_content"
39-
android:src="@drawable/login_bg" />
43+
android:scaleType="fitCenter" />
4044

4145
<ImageView
46+
android:id="@+id/hot_movie5"
4247
android:layout_width="wrap_content"
4348
android:layout_height="wrap_content"
44-
android:src="@drawable/login_bg" />
49+
android:scaleType="fitCenter" />
4550

4651
<ImageView
52+
android:id="@+id/hot_movie6"
4753
android:layout_width="wrap_content"
4854
android:layout_height="wrap_content"
49-
android:src="@drawable/login_bg" />
55+
android:scaleType="fitCenter" />
5056
</com.dalong.library.view.LoopRotarySwitchView>
5157

5258
<TextView

0 commit comments

Comments
 (0)