ListView多条目加载
来源:互联网 发布:ftp服务使用的端口是 编辑:程序博客网 时间:2024/05/21 09:09
- /**
- * listview多条目加载,使用项目使用imageloader,butterknife;
- */
- public class MainActivity extends AppCompatActivity {
- @BindView(R.id.lv)
- ListView lv;
- private ArrayList<Goods> goodsList;
- String imgUrl = "http://image.tianjimedia.com/uploadImages/2012/067/N80N0GUA36N0.jpg";
- private ImageView img;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //使用butterKnife来注解控件;
- ButterKnife.bind(this);
- initData();
- }
- private void initData() {
- goodsList = new ArrayList<Goods>();
- goodsList.add(new Goods("商品1", "21", 0));
- goodsList.add(new Goods("商品3", "23", 0));
- goodsList.add(new Goods("商品4", "24", R.drawable.hu, 1));
- goodsList.add(new Goods("商品2", "22", R.drawable.hu, 1));
- goodsList.add(new Goods("商品5", "25", 0));
- goodsList.add(new Goods("商品6", "26", R.drawable.hu, 1));
- goodsList.add(new Goods("商品21", "21", 0));
- goodsList.add(new Goods("商品5", "25", 0));
- goodsList.add(new Goods("商品22", "22", R.drawable.hu, 1));
- goodsList.add(new Goods("商品23", "23", 0));
- goodsList.add(new Goods("商品24", "24", R.drawable.hu, 1));
- goodsList.add(new Goods("商品25", "25", 0));
- goodsList.add(new Goods("商品26", "26", R.drawable.hu, 1));
- goodsList.add(new Goods("商品31", "21", 0));
- goodsList.add(new Goods("商品32", "22", R.drawable.hu, 1));
- goodsList.add(new Goods("商品34", "24", R.drawable.hu, 1));
- goodsList.add(new Goods("商品36", "26", R.drawable.hu, 1));
- goodsList.add(new Goods("商品33", "23", 0));
- goodsList.add(new Goods("商品35", "25", 0));
- //把数据配置给listview
- lv.setAdapter(new MBaseAdapter());
- }
- class MBaseAdapter extends BaseAdapter {
- private final int type1 = 0;
- private final int type2 = 1;
- @Override
- public int getCount() {
- return goodsList.size();
- }
- @Override
- public Object getItem(int i) {
- return goodsList.get(i);
- }
- @Override
- public long getItemId(int i) {
- return i;
- }
- @Override
- public View getView(int i, View convertView, ViewGroup viewGroup) {
- int typeId = goodsList.get(i).getTypeId();
- switch (typeId) {
- case type1:
- Holder1 holder1 = null;
- if (convertView == null) {
- holder1 = new Holder1();
- convertView = View.inflate(MainActivity.this, R.layout.lv_item_1, null);
- holder1.textView1 = convertView.findViewById(R.id.textView1);
- holder1.textView2 = convertView.findViewById(R.id.textView2);
- convertView.setTag(holder1);
- } else {
- holder1 = (Holder1) convertView.getTag();
- }
- holder1.textView1.setText(goodsList.get(i).getName());
- holder1.textView2.setText(goodsList.get(i).getPrice());
- break;
- case type2:
- Holder2 holder2 = null;
- if (convertView == null) {
- holder2 = new Holder2();
- convertView = View.inflate(MainActivity.this, R.layout.lv_item_2, null);
- holder2.textView1 = convertView.findViewById(R.id.textView1);
- holder2.textView2 = convertView.findViewById(R.id.textView2);
- holder2.imageView1 = convertView.findViewById(R.id.imageView1);
- convertView.setTag(holder2);
- } else {
- holder2 = (Holder2) convertView.getTag();
- }
- holder2.textView1.setText(goodsList.get(i).getName());
- holder2.textView2.setText(goodsList.get(i).getPrice());
- // holder2.imageView1.setImageResource(R.drawable.hu);
- ImageLoader.getInstance().displayImage(imgUrl, holder2.imageView1);
- break;
- }
- return convertView;
- }
- //返回条目有多少种类型
- @Override
- public int getViewTypeCount() {
- return 2;
- }
- //返回条目的类型
- @Override
- public int getItemViewType(int position) {
- return goodsList.get(position).getTypeId();
- }
- }
- class Holder1 {
- TextView textView1, textView2;
- }
- class Holder2 {
- TextView textView1, textView2;
- ImageView imageView1;
- }
- }
阅读全文
0 0
- ListView多条目加载
- ListView 多条目加载
- listview多条目加载
- ListView多条目加载
- listview多条目加载
- ListView多条目加载
- ListView多条目加载
- ListView多条目加载
- ListView多条目加载
- listview多条目加载
- Listview多条目加载
- ListView多条目加载
- ListView多条目加载
- ListView多条目加载
- ListView多条目加载
- Listview多条目加载
- ListView多条目加载
- ListView多条目加载
- 链表
- LightOJ
- 人脸检测--Grid Loss: Detecting Occluded Faces
- Linux系统环境变量和别名设置(永久生效和临时生效)
- ES 基本使用《四》--索引mapping
- ListView多条目加载
- ghost版window系统安装.net framework的时候死活回滚
- 开放API接口
- git安装
- [LeetCode]100. Same Tree
- 数据结构与算法(Java描述)-4、单链表以及单链表的应用
- 购物车(侧拉 、购物 、个人中心)
- 【环境配置】全志A20/T3/V40/T3A android编译环境配置
- RxJava终章之实践出真知(七)