package com.freelib.multiitem.demo; import android.content.Context; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView; import com.freelib.multiitem.adapter.BaseItemAdapter; import com.freelib.multiitem.demo.bean.ImageBean; import com.freelib.multiitem.demo.bean.ImageTextBean; import com.freelib.multiitem.demo.bean.TextBean; import com.freelib.multiitem.demo.viewholder.ImageAndTextManager; import com.freelib.multiitem.demo.viewholder.ImageViewManager; import com.freelib.multiitem.demo.viewholder.TextViewManager; import org.androidannotations.annotations.AfterViews; import org.androidannotations.annotations.EActivity; import org.androidannotations.annotations.ViewById; import java.util.ArrayList; import java.util.List; @EActivity(R.layout.layout_recycler) public class MultiItemActivity extends AppCompatActivity { @ViewById(R.id.recyclerView) protected RecyclerView recyclerView; public static void startActivity(Context context) { MultiItemActivity_.intent(context).start(); } @AfterViews protected void initViews() { setTitle(R.string.multi_item_title); recyclerView.setLayoutManager(new LinearLayoutManager(this)); //初始化adapter BaseItemAdapter adapter = new BaseItemAdapter(); //为XXBean数据源注册XXManager管理类 adapter.register(TextBean.class, new TextViewManager()); adapter.register(ImageTextBean.class, new ImageAndTextManager()); adapter.register(ImageBean.class, new ImageViewManager()); recyclerView.setAdapter(adapter); List<Object> list = new ArrayList<>(); for (int i = 0; i < 20; i++) { list.add(new TextBean("AAA" + i)); list.add(new ImageBean(R.drawable.img1)); list.add(new ImageTextBean(R.drawable.img2, "BBB" + i)); } adapter.setDataItems(list); } }