调用OKhttp封装类请求网络数据适配到Recyclerview上拉下拉刷新

来源:互联网 发布:git clone ssh 端口 编辑:程序博客网 时间:2024/06/14 14:43

recyclerview布局的代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"   android:orientation="vertical"    android:layout_height="match_parent">    <com.liaoinstan.springview.widget.SpringView        android:layout_width="match_parent"        android:id="@+id/springview"        android:layout_height="match_parent">        <android.support.v7.widget.RecyclerView            android:layout_width="match_parent"            android:layout_height="match_parent"            android:id="@+id/recyclerview"       >        </android.support.v7.widget.RecyclerView>    </com.liaoinstan.springview.widget.SpringView></LinearLayout>

代码里面的

public class LieBiaoFragment extends Fragment{    private SpringView springView;    private RecyclerView recyclerView;    private RecyAdapter recyAdapter;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = inflater.inflate(R.layout.fragment_liebiao,container,false);        springView = (SpringView) view.findViewById(R.id.springview);        recyclerView = (RecyclerView) view.findViewById(R.id.recyclerview);        return view;    }    int page = 0;    @Override    public void onActivityCreated(@Nullable Bundle savedInstanceState) {        super.onActivityCreated(savedInstanceState);        recyAdapter = new RecyAdapter(getActivity());        LinearLayoutManager manager = new LinearLayoutManager(getActivity(),LinearLayoutManager.VERTICAL,false);        recyclerView.setLayoutManager(manager);        //进入页面访问数据        getData();       springView.setHeader(new DefaultHeader(getActivity()));        springView.setFooter(new DefaultFooter(getActivity()));        springView.setListener(new SpringView.OnFreshListener() {            @Override            public void onRefresh() {                page ++;                getData();                springView.onFinishFreshAndLoad();            }            @Override            public void onLoadmore() {                page = 0;                getData();                springView.onFinishFreshAndLoad();            }        });    }//    public void getData(){        final String path = "http://tingapi.ting.baidu.com/v1/restserver/ting?method=baidu.ting.billboard.billList&type=1&size=10&offset="+page;        OkhttpUtils.getInstance().asy(null, path, new AbstractUiCallBack<RecyBean>() {            @Override            //abstractUiCallBack的接口回调            public void success(RecyBean bean) {                //获取数据 .调用适配器中的添加数据的方法,,刷新添加到前面                recyAdapter.addData(bean.getSong_list());                recyclerView.setAdapter(recyAdapter);            }            @Override            public void failure(Exception e) {                Toast.makeText(getActivity(),"e:"+e,Toast.LENGTH_SHORT).show();            }        });    }}


原创粉丝点击