androidRecyclerViewAdapter技巧

  • 设置布局加载方式

    1
    tv_menu_list.setLayoutManager(new GridLayoutManager(this, 3)); //设置布局加载方式
  • 视图布局

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/items"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="10dp"
    android:background="#ffffff">

    <ImageView
    android:id="@+id/imageview_center"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="20dp"
    android:background="#00000000"
    android:gravity="center"
    android:layout_marginBottom="20dp"
    android:scaleType="centerCrop"
    android:src="@drawable/logo1"
    android:visibility="visible"
    android:layout_width="60dp"
    android:layout_height="60dp" />

    <TextView
    android:layout_below="@+id/imageview_center"
    android:gravity="center"
    android:id="@+id/textview_center"
    android:layout_width="match_parent"
    android:text="asdfasdf水电费"
    android:layout_height="wrap_content" />


    </RelativeLayout>
  • RecyclerView.Adapter

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    private class TvAdapter extends RecyclerView.Adapter<TvAdapter.ViewHolder> {

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
    View inflate = View.inflate(getBaseContext(), R.layout.tv_menu_list_tiem_layout, null);
    return new ViewHolder(inflate);
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
    holder.textview.setText(tvDataList.get(position).getTitle());

    Picasso.with(getBaseContext())
    .load(app.getImgurl()+tvDataList.get(position).getCoverImageUrl())
    .placeholder(R.drawable.defaultbg)
    .error(R.drawable.defaultbg)
    .fit()
    .into(holder.img);

    }

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

    class ViewHolder extends RecyclerView.ViewHolder {
    private TextView textview; //定义视图布局
    private ImageView img;//定义视图布局

    public ViewHolder(View itemView) {
    super(itemView);
    textview = (TextView) itemView.findViewById(R.id.textview_center);
    img = (ImageView) itemView.findViewById(R.id.imageview_center);
    itemView.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    //跳转方式
    }
    });
    }
    }
    }