package cn.mutils.app.demo.ui; import android.content.Context; import android.graphics.Color; import android.util.AttributeSet; import android.view.View; import android.widget.LinearLayout; import java.util.ArrayList; import cn.mutils.app.demo.R; import cn.mutils.app.ui.StateView; import cn.mutils.app.ui.adapter.HLinearAdapter; import cn.mutils.app.ui.adapter.IItemView; import cn.mutils.app.ui.adapter.ItemView; import cn.mutils.core.annotation.res.FindViewById; import cn.mutils.core.annotation.res.SetContentView; @SetContentView(R.layout.view_hlinear_adapter) public class HLinearAdapterDemoView extends StateView { @FindViewById(R.id.list) protected LinearLayout mList; protected MyAdapter mAdapter; public HLinearAdapterDemoView(Context context) { super(context); } public HLinearAdapterDemoView(Context context, AttributeSet attrs) { super(context, attrs); } public HLinearAdapterDemoView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override public void onCreate() { super.onCreate(); mAdapter = new MyAdapter(); mAdapter.setContainer(mList); ArrayList<Integer> dataProvider = new ArrayList<Integer>(); for (int i = 0; i < 5; i++) { dataProvider.add( Color.rgb((int) (Math.random() * 256), (int) (Math.random() * 256), (int) (Math.random() * 256))); } mAdapter.setDataProvider(dataProvider); } class MyAdapter extends HLinearAdapter<Integer> { @Override public IItemView<Integer> getItemView(int itemViewType) { return new ColorRectItemView(getContext()); } } @SetContentView(R.layout.item_color_rect) class ColorRectItemView extends ItemView<Integer> { @FindViewById(R.id.color_rect) protected View mColorRect; public ColorRectItemView(Context context) { super(context); } @Override public void onResume() { mColorRect.setBackgroundColor(mDataProvider); } } }