下拉刷新,上拉加载,解析数据

public class Fragment_rebo extends BaseFrament {
private XListView mXListView;
private List<LiveBean.ResultBean> listResult=new ArrayList<>();
private List<LiveBean.ResultBean> listResultAll=new ArrayList<>();
private MyAdapter myAdapter;
@Override
protected void initData() {
mXListView=(XListView)getActivity().findViewById(R.id.litview);
doData();
myAdapter=new MyAdapter();
mXListView.setAdapter(myAdapter);
mXListView.setPullLoadEnable(true);
mXListView.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
listResultAll.clear();
//下拉刷新
doData();
}

        @Override
        public void onLoadMore() {
            //上拉加载
            doDataLoad();

        }
    });
}
private void doData(){
    page=1;
    doHttp(page);
}

//分页请求

private int page=1;
private void doDataLoad(){
    doHttp(page);
}

//请求正在热映
private void doHttp(int page){
    String urlPath="http://172.17.8.100/movieApi/movie/v1/findHotMovieList?page="+page+"&count=10";
    new HttpHelper(new HttpHelper.HttpListener() {
        @Override
        public void success(String data) {
            LiveBean bean = new Gson().fromJson(data, LiveBean.class);
            listResult=bean.getResult();
            listResultAll.addAll(listResult);
            myAdapter.notifyDataSetChanged();
            mXListView.stopRefresh();
            mXListView.stopLoadMore();
        }

        @Override
        public void fail() {

        }
    }).get(urlPath);
}

private class MyAdapter extends BaseAdapter {

    @Override
    public int getCount() {
        return listResultAll.size();
    }

    @Override
    public Object getItem(int i) {
        return null;

    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

    @Override
    public View getView(int i, View view, ViewGroup viewGroup) {
        ViewHolder mViewHolder;
        if(view==null){
            view=View.inflate(getActivity(),R.layout.listview_item,null);
            mViewHolder=new ViewHolder();
            mViewHolder.mPic=(ImageView) view.findViewById(R.id.image);
            mViewHolder.mTitle=(TextView)view.findViewById(R.id.title) ;
            mViewHolder.mDesc=(TextView)view.findViewById(R.id.desc) ;
            view.setTag(mViewHolder);
        }else{
            mViewHolder= (ViewHolder) view.getTag();
        }

        LiveBean.ResultBean bean = listResultAll.get(i);
        mViewHolder.mTitle.setText(bean.getName());
        mViewHolder.mDesc.setText(bean.getSummary());
        ImageLoader.getInstance().displayImage(bean.getImageUrl(),mViewHolder.mPic);

        return view;
    }
}

private class ViewHolder{
    ImageView mPic;
    TextView mTitle,mDesc;
}

<com.example.xlistviewlib.XListView
android:id="@+id/litview"
android:layout_width=“match_parent”
android:layout_height=“match_parent” />

implementation 'com.android.support:design:26.1.0'
implementation 'com.google.code.gson:gson:2.2.4'
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
implementation project(':xlistviewlib')

猜你喜欢

转载自blog.csdn.net/ZJYLHF/article/details/82793251
今日推荐