Android RecyclerView 接受后台返回数据

第一步 布局

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/home_quick_rv"
        android:scrollbars="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"/>


</LinearLayout>

第四步 Minactivuty

 

private List<quickChannelVm> quickList = new ArrayList<quickChannelVm>();
private homeRecyclerViewQuickAdapter quickAdapter;
home_quick_lv = (RecyclerView) mView.findViewById(R.id.home_quick_rv);
//横显示数据方法
LinearLayoutManager manager = new LinearLayoutManager(getActivity());
home_quick_lv.setLayoutManager(manager);
manager.setOrientation(LinearLayoutManager.HORIZONTAL);
currencyWallRv.setLayoutManager(new LinearLayoutManager(this));
StaggeredGridLayoutManager layout=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
quickAdapter = new homeRecyclerViewQuickAdapter(getActivity(),quickList);
home_quick_lv.setAdapter(quickAdapter);
新建一个类
public interface homeService {
    /*首页轮播广告*/
    @GET("/mobile/init/index.htm")
    Call<UserIndexData> getHomeIndex(@Query("userId") String userId, @Query("channel") String channel,       @Query("versionNumber") String versionNumber);

}
private void getHomeCall() {
    Call<UserIndexData> call = RDClient.getService(homeService.class).getHomeIndex("222", "6666", "99999");
    NetworkUtil.showCutscenes(call);
    call.enqueue(new Callback<UserIndexData>() {
        @Override
        public void onResponse(Call<UserIndexData> call, Response<UserIndexData> response) {
           
            List<UserIndexData.DataBean.QuickChannelBean> listQuick =      response.body().getData().getQuickChannel(); 
            getListQuick(listQuick);
           //一定要加下面这个代码
            quickAdapter.notifyDataSetChanged();
        }

        @Override
        public void onFailure(Call<UserIndexData> call, Throwable t) {

        }
    });
}
private void getListQuick(List<UserIndexData.DataBean.QuickChannelBean> listQuick) {
    if (null != listQuick && listQuick.size() != 0) {
        for (UserIndexData.DataBean.QuickChannelBean quick : listQuick) {
            quickChannelVm quickVm = new quickChannelVm();
            quickVm.setId(quick.getId());
            quickVm.setName(quick.getName());
            quickVm.setPicture(quick.getPicture());
            quickVm.setUrl(quick.getUrl());
            quickList.add(quickVm);
            Log.i("homeFragment__", "4444=" + quickVm.getName());
            Log.i("homeFragment__", "5555=" + quickVm.getPicture());

        }
    }

}

第三步 适配器

public class homeRecyclerViewQuickAdapter extends RecyclerView.Adapter {
    private Context mContext;
    private List<quickChannelVm> quickList = new ArrayList<quickChannelVm>();
    private static URL url;
    public homeRecyclerViewQuickAdapter(Context context, List<quickChannelVm> quickList){
        this.mContext = context;
        this.quickList = quickList;
    }

    @NonNull
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(mContext).inflate(R.layout.quick_adapter_layou, parent, false);
        return new DemoViewHolder(view);
    }

    @Override
    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) {
        quickChannelVm quickChannelVm = quickList.get(position);
        ((DemoViewHolder)holder).home_check_tv.setText(quickChannelVm.getName());
        try {
            url = new URL(quickChannelVm.getPicture());
        } catch (MalformedURLException e) {
            e.printStackTrace();
        }
        Glide.with(((DemoViewHolder)holder).home_img_im.getContext())
                .load(url)
                .placeholder(R.mipmap.homevp)
                .into(((DemoViewHolder)holder).home_img_im);

    }

    @Override
    public int getItemCount() {
        return quickList.size();
    }

    private class DemoViewHolder extends RecyclerView.ViewHolder{

        private TextView home_check_tv;
        private ImageView home_img_im;

        public DemoViewHolder(View itemView) {
            super(itemView);
            home_check_tv = (TextView) itemView.findViewById(R.id.home_check_tv);
            home_img_im = (ImageView) itemView.findViewById(R.id.home_img_im);


        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值