第一步 布局
<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);
}
}
}