说明
图片使用网络图片,数据使用本地缓存数据
源码:https://gitee.com/373616511/RecyclerViewTest
效果图
三个布局文件
activity_main.xml-主布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<Button
android:id="@+id/btnOne"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?actionBarSize"
android:text="获取数据"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"/>
</LinearLayout>
item_1.xml-分类,商品布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/item1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textSize="20sp"
android:layout_marginLeft="5dp"
android:text="分类" />
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
item_2.xml-商品布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<com.example.admin.testapplication.MyDefination.MyImageView
android:id="@+id/imageView"
android:layout_width="60dp"
android:layout_height="60dp"
android:layout_alignParentLeft="true"
android:layout_marginStart="15dp"
android:layout_marginLeft="15dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:src="@mipmap/img" />
<TextView
android:id="@+id/dishName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/imageView"
android:text="商品名称" />
<TextView
android:id="@+id/price"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/dishName"
android:layout_toRightOf="@+id/imageView"
android:text="¥0" />
</RelativeLayout>
适配器关键代码
给分类的RecyclerView设置菜品数据适配器
@Override
public void onBindViewHolder(VH holder, int position) {
holder.title.setText(mDatas.get(position).getCatName());
holder.itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//item 点击事件
}
});
//列表
List<DishViewDto> dishViewDtoList = mDatas.get(position).getDishViewDtoList();
DishAdapter dishAdapter = new DishAdapter(dishViewDtoList);
//给分类的RecyclerView设置菜品数据适配器
holder.recyclerView.setAdapter(dishAdapter);
holder.recyclerView.setLayoutManager(new LinearLayoutManager(holder.recyclerView.getContext()));
}