package me.xiaopan.sketchsample.adapter.itemfactory; import android.content.Context; import android.view.ViewGroup; import android.widget.TextView; import butterknife.BindView; import butterknife.OnClick; import me.xiaopan.assemblyadapter.AssemblyRecyclerItemFactory; import me.xiaopan.sketchsample.R; import me.xiaopan.sketchsample.activity.MainActivity; import me.xiaopan.sketchsample.adapter.BindAssemblyRecyclerItem; public class PageMenuItemFactory extends AssemblyRecyclerItemFactory<PageMenuItemFactory.PageMenuItem> { private OnClickItemListener onClickItemListener; public PageMenuItemFactory(OnClickItemListener onClickItemListener) { this.onClickItemListener = onClickItemListener; } @Override public boolean isTarget(Object o) { return o instanceof MainActivity.Page; } @Override public PageMenuItem createAssemblyItem(ViewGroup viewGroup) { return new PageMenuItem(R.layout.list_item_page_menu, viewGroup); } public interface OnClickItemListener { void onClickItem(MainActivity.Page page); } public class PageMenuItem extends BindAssemblyRecyclerItem<MainActivity.Page> { @BindView(R.id.text_pageMenuItem) TextView textView; public PageMenuItem(int itemLayoutId, ViewGroup parent) { super(itemLayoutId, parent); } @OnClick(R.id.text_pageMenuItem) void clickItem() { onClickItemListener.onClickItem(getData()); } @Override protected void onConfigViews(Context context) { } @Override protected void onSetData(int i, MainActivity.Page pageMenu) { textView.setText(pageMenu.getName()); } } }