多条目

1:adapter 适配器 (只有一个适配器而且不需要写viewhodel)

public class Recviewadapter extends RecyclerView.Adapter {
    private List<Shopbean.ItemsBean> list=new ArrayList<>();
    private Context context;
    ///注意这是 public
    public   Recviewadapter(Context mainActivity){
             context=mainActivity;
    }

    @NonNull
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
        View view=null;
         RecyclerView.ViewHolder viewHolder=null;
         switch (i){
             case  0:
 //这个记得加view             view=View.inflate(context,R.layout.item_01,null);//相对应一张图片 一条文字
                   viewHolder=new MyViewHolder01(view);
                 break;
             case  1:
                 view=View.inflate(context,R.layout.item_02,null);//相对应三张图片
                 viewHolder=new MyViewHolder2(view);
                 break;
             case  2:
                 view=View.inflate(context,R.layout.item_03,null);//  一条文字
                 viewHolder=new MyViewHolder3(view);
                 break;
         }
        return viewHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull RecyclerView.ViewHolder viewHolder, int i) {
        if(viewHolder instanceof MyViewHolder01){
            Glide.with(context).load(list.get(i).getImage()).into(((MyViewHolder01)viewHolder).imageView);

            ((MyViewHolder01)viewHolder).tvTitle.setText(list.get(i).getTitle());
            ((MyViewHolder01)viewHolder).tvDesc.setText(list.get(i).getDesc());
        }else if(viewHolder instanceof MyViewHolder2){
            Glide.with(context).load(list.get(i).getImages().get(0).getPic()).into(((MyViewHolder2)viewHolder).image_1);
            Glide.with(context).load(list.get(i).getImages().get(1).getPic()).into(((MyViewHolder2)viewHolder).image_2);
            Glide.with(context).load(list.get(i).getImages().get(2).getPic()).into(((MyViewHolder2)viewHolder).image_3);
        }else {
            ((MyViewHolder3)viewHolder).mTitle.setText(list.get(i).getTitle());
        }
    }

    @Override
    public int getItemCount() {
        return list.size();
    }
    ///创建 返回到他那个type值
    @Override
    public int getItemViewType(int position) {
        return  list.get(position).getType();
    }
     public  void  setList(List<Shopbean.ItemsBean>list){
        this.list =list;
        notifyDataSetChanged();
     }
   ///这是链接第一个布局属性
    private class MyViewHolder01 extends RecyclerView.ViewHolder{
        ImageView imageView;
        TextView tvTitle,tvDesc;
        public MyViewHolder01(@NonNull View itemView) {
            super(itemView);
            imageView= itemView.findViewById(R.id.image);
            tvTitle=  itemView.findViewById(R.id.tv_title);
            tvDesc=  itemView.findViewById(R.id.tv_desc);
        }
    }
    ///这是链接第二个布局属性 三张图片

    private class MyViewHolder2 extends RecyclerView.ViewHolder{

        ImageView image_1,image_2,image_3;

        public MyViewHolder2(@NonNull View itemView) {
            super(itemView);
            image_1= itemView.findViewById(R.id.image_1);
            image_2= itemView.findViewById(R.id.image_2);
            image_3= itemView.findViewById(R.id.image_3);
        }
    }
    ///这是链接第三个布局属性 一个文字
    private class MyViewHolder3 extends RecyclerView.ViewHolder{
        TextView mTitle;
        public MyViewHolder3(@NonNull View itemView) {
            super(itemView);
            mTitle= itemView.findViewById(R.id.tv_title);
        }
    }

}

2;主页面

public class Feagment01 extends Fragment {
    private RecyclerView mRecyclerView;
    private Recviewadapter recviewadapter;
 private List<Shopbean.ItemsBean> list;
    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View inflate = inflater.inflate(R.layout.fragment01, container, false);
        mRecyclerView=  inflate.findViewById(R.id.Recy_view);
        return inflate;
    }

    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        recviewadapter=new Recviewadapter(getContext());
        LinearLayoutManager linearLayoutManager=new LinearLayoutManager(getContext());
        linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        mRecyclerView.setLayoutManager(linearLayoutManager);
        mRecyclerView.setAdapter(recviewadapter);
        doHttp();

    }

    private void doHttp() {
        new OkHttpUtil().get(Http.DUOTIAOMU).result(new OkHttpUtil.HttpListener() {
            @Override
            public void success(String data) {
                Gson gson=new Gson();
                 Shopbean shopbean=gson.fromJson(data,Shopbean.class);
                     list=shopbean.getItems();
                     recviewadapter.setList(list);
                     recviewadapter.notifyDataSetChanged();
            }

            @Override
            public void fail(String error) {

            }
        });
//
    }
//
}

///主布局一个 receview

itrm01:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/image"
        android:layout_width="100dp"
        android:layout_height="100dp" />


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/image"
        android:orientation="vertical">

        <TextView
            android:id="@+id/tv_title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:lines="1"
            android:textColor="#222222"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/tv_desc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:ellipsize="end"
            android:lines="2"
            android:textColor="#999999"
            android:textSize="16sp" />

    </LinearLayout>
</RelativeLayout>

:item02

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">



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

        <ImageView
            android:id="@+id/image_1"
            android:layout_width="0dp"
            android:layout_height="100dp"
            android:layout_weight="1" />

        <ImageView
            android:id="@+id/image_2"
            android:layout_width="0dp"
            android:layout_height="100dp"
            android:layout_weight="1" />

        <ImageView
            android:id="@+id/image_3"
            android:layout_width="0dp"
            android:layout_height="100dp"
            android:layout_weight="1" />

    </LinearLayout>
</RelativeLayout>

 

item:03

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:id="@+id/tv_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
</RelativeLayout>

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值