Tablayout +pulltorefresh

适配器
public class MAdapter extends BaseAdapter {

private Context context;
private List<InBean.ResultBean> list;

public MAdapter(Context context) {
    this.context = context;
    list=new ArrayList<>();
}

public void setList(List<InBean.ResultBean> list) {
    this.list.clear();
    if (list!=null){
        this.list = list;
    }
    notifyDataSetChanged();
}

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

@Override
public Object getItem(int position) {
    return list.get(position);
}

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

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    ViewHolder holder;
    if (convertView==null){
        convertView=LayoutInflater.from(context).inflate(R.layout.item_in,parent,false);
        holder=new ViewHolder();
        holder.imageView=convertView.findViewById(R.id.item_imager);
        holder.textView1=convertView.findViewById(R.id.item_text1);
        holder.textView2=convertView.findViewById(R.id.item_text2);
        convertView.setTag(holder);
    }else {
        holder= (ViewHolder) convertView.getTag();
    }
    holder.textView1.setText(list.get(position).getName());
    holder.textView2.setText(list.get(position).getSummary());
    //使用Imageloder的框架
    ImageLoader.getInstance().displayImage(list.get(position).getImageUrl(),holder.imageView);

    return convertView;
}
//复用类
class ViewHolder{
    ImageView imageView;
    TextView textView1,textView2;
}

}
tablayout适配器
public class MyAdapter extends FragmentPagerAdapter {
private String [] names=new String[]{“正在热映”,“即将热映”};
public MyAdapter(FragmentManager fm) {
super(fm);
}

private String apiUrl ="";

@Override
public Fragment getItem(int i) {

  switch (i){
      case 0:
              apiUrl="http://172.17.8.100/movieApi/movie/v1/findHotMovieList?page=1&count=10";
      default:
              apiUrl="http://172.17.8.100/movieApi/movie/v1/findReleaseMovieList?page=1&count=10";
  }

     Bundle bundle = new Bundle();
     bundle.putString("url",apiUrl);
     ZFragmentA zFragmentA = new ZFragmentA();
     zFragmentA.setArguments(bundle);
     return zFragmentA;

}

@Override
public int getCount() {
    return names.length;
}

@Nullable
@Override
public CharSequence getPageTitle(int position) {
    return names[position];
}

}
pulltorefresh列表展示
public class ZFragmentA extends BaseFragment {
private PullToRefreshListView pul;
private MAdapter madapter;
private int page=10;
private String url;
/* private List<InBean.ResultBean> list=new ArrayList<>();*/

//获取数据
@Override
protected void initData() {
    //page=1&count=10
     url = getArguments().getString("url");
    // 新建一个class 异步请求news数据
   new InTask().execute(url+page/*+"page="+1+"&count="+10*/);
}

@Override
protected void initView(View view) {
    //获取资源id

    pul=view.findViewById(R.id.pul);
    //创建适配器
    madapter=new MAdapter(getActivity());
    pul.setAdapter(madapter);
    //上拉加载下拉刷新
    setListener();
}

// 上拉加载下拉刷新
private void setListener() {
//设置监听事件
pul.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2() {
//下拉加载
@Override
public void onPullDownToRefresh(PullToRefreshBase refreshView) {
/* list.clear();*/
page=1;
new InTask().execute(url);
pul.onRefreshComplete();
}

        @Override
        public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
            new InTask().execute(url+(++page));
            pul.onRefreshComplete();
        }
    });
}

class InTask extends AsyncTask<String,Void,List<InBean.ResultBean>>{

    @Override
    protected List<InBean.ResultBean> doInBackground(String... strings) {
        try {
            String s = HttpUtils.get(strings[0]);
            Gson gson=new Gson();
            InBean inBean = gson.fromJson(s, InBean.class);
            return inBean.getResult();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }
    //展示数据
    @Override
    protected void onPostExecute(List<InBean.ResultBean> resultBeans) {
        super.onPostExecute(resultBeans);
        //添加数据
        madapter.setList(resultBeans);

    }
}
@Override
protected int setview() {
    return R.layout.zfragment;
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值