1.布局文件排列
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<com.bawei.swiperefreshlayoutlibrary.SwipyRefreshLayout
android:id="@+id/srl"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.youth.banner.Banner
android:id="@+id/banne"
android:layout_width="match_parent"
android:layout_height="200dp"></com.youth.banner.Banner>
<android.support.v7.widget.RecyclerView
android:id="@+id/reclv"
android:layout_width="match_parent"
android:layout_height="match_parent"></android.support.v7.widget.RecyclerView>
</LinearLayout>
</ScrollView>
</com.bawei.swiperefreshlayoutlibrary.SwipyRefreshLayout>
</LinearLayout>
正式的代码
public class Fragment_title extends Fragment{
String[] imgUrlStrs = new String[]{
"http://img5.mtime.cn/mg/2016/09/29/101927.61748190.jpg",
"http://img5.mtime.cn/mg/2016/10/17/172246.85687810.jpg",
"http://img31.mtime.cn/mg/2016/09/10/140500.21315060.jpg",
"http://img5.mtime.cn/mg/2016/10/18/102203.49333729.jpg"
};
private RecyclerView reclv;
private int startNum=0;
private SwipyRefreshLayout srl;
private Handler handler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what){
case 0:
String string = (String) msg.obj;
Gson gson=new Gson();
caBean cabean = gson.fromJson(string, caBean.class);
List<caBean.DataBean> data = cabean.getData();
final ReclvPage page=new ReclvPage(getActivity());
page.setList(data);
reclv.setAdapter(page);
break;
}
}
};
private Banner banne;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_title, null);
srl = (SwipyRefreshLayout) view.findViewById(R.id.srl);
reclv = (RecyclerView) view.findViewById(R.id.reclv);
banne = (Banner) view.findViewById(R.id.banne);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
LinearLayoutManager manger=new LinearLayoutManager(getActivity());
reclv.setLayoutManager(manger);
qingqiu();
List<String> list=new ArrayList<>();
for (int i=0;i<imgUrlStrs.length;i++){
list.add(imgUrlStrs[i]);
}
banne.setImages(list).setImageLoader(new GlideImageLoader()).start();
srl.setColorSchemeColors(R.color.colorPrimaryDark, R.color.colorPrimary, R.color.colorAccent, android.R.color.holo_blue_light);
srl.setDirection(SwipyRefreshLayoutDirection.BOTH);
srl.setOnRefreshListener(new SwipyRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh(int index) {
startNum=0;
qingqiu();
handler.postDelayed(new Runnable() {
@Override
public void run() {
srl.setRefreshing(false);
}
},2000);
}
@Override
public void onLoad(int index) {
startNum++;
qingqiu();
handler.postDelayed(new Runnable() {
@Override
public void run() {
srl.setRefreshing(false);
}
},2000);
}
});
}
private void qingqiu() {
String url = "http://www.93.gov.cn/93app/data.do?" + "channelId=" + 0 + "&startNum=" + startNum;
OkHttpUtils.get(url, new Callback() {
@Override
public void onFailure(Call call, IOException e) {
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String string = response.body().string();
Message message = handler.obtainMessage(0, string);
message.sendToTarget();
}
});
}
class GlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
//Picacco加载图片简单用法
Glide.with(getActivity()).load((String) path).into(imageView);
}
}
}