輪播和XrecyclerView
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".fragment.AFragment"
android:orientation="vertical"
>
<com.recker.flybanner.FlyBanner
android:layout_width="match_parent"
android:layout_height="300dp"
android:id="@+id/Fly"
></com.recker.flybanner.FlyBanner>
<com.jcodecraeer.xrecyclerview.XRecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/XRecy"
android:layout_below="@+id/Fly"
></com.jcodecraeer.xrecyclerview.XRecyclerView>
</RelativeLayout>
Main
package com.example.wanzhenggouwu.fragment;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.widget.GridLayoutManager;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import com.example.wanzhenggouwu.R;
import com.example.wanzhenggouwu.adapter.MyAdapter;
import com.example.wanzhenggouwu.bean.MyData;
import com.example.wanzhenggouwu.presenter.IPresenterImpl;
import com.example.wanzhenggouwu.view.IView;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import com.recker.flybanner.FlyBanner;
import java.util.ArrayList;
import java.util.List;
/**
* A simple {@link Fragment} subclass.
*/
public class AFragment extends Fragment implements IView {
//輪播需要導入的依賴
// implementation'com.recker.flybanner:flybanner:1.3'
private String mUrl = "http://www.wanandroid.com/tools/mockapi/6523/restaurants_offset_0_limit_4";
private XRecyclerView XRecy;
private ArrayList<MyData.DataBean> mList = new ArrayList<>();
private IPresenterImpl presenter;
private MyAdapter adapter;
private String[] mImagesUrl = {
"https://ws1.sinaimg.cn/large/0065oQSqly1fuo54a6p0uj30sg0zdqnf.jpg",
"https://ws1.sinaimg.cn/large/0065oQSqly1fv5n6daacqj30sg10f1dw.jpg",
"https://ws1.sinaimg.cn/large/0065oQSqly1fvexaq313uj30qo0wldr4.jpg",
"https://ws1.sinaimg.cn/large/0065oQSqly1fw0vdlg6xcj30j60mzdk7.jpg"
};
private FlyBanner flyBanner;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_a, null);
initView(v);
presenter = new IPresenterImpl(this);
adapter = new MyAdapter(mList, getContext());
XRecy.setAdapter(adapter);
presenter.startRequse(mUrl);
initNetBanner();
return v;
}
//輪播
private void initNetBanner() {
List<String> imgesUrl = new ArrayList<>();
for (int i = 0; i < mImagesUrl.length; i++) {
imgesUrl.add(mImagesUrl[i]);
}
flyBanner.setImagesUrl(imgesUrl);
}
@Override
public void success(Object data) {
MyData myData = (MyData) data;
mList.addAll(myData.getData());
adapter.notifyDataSetChanged();
}
@Override
public void error(Object error) {
}
private void initView(View v) {
XRecy = (XRecyclerView) v.findViewById(R.id.XRecy);
GridLayoutManager layoutManager = new GridLayoutManager(getContext(), 1);
XRecy.setLayoutManager(layoutManager);
flyBanner = v.findViewById(R.id.Fly);
}
}