more item ListView demo
来源:互联网 发布:编程流程图 编辑:程序博客网 时间:2024/06/06 00:37
//添加联网权限
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>// activity_main.xml
<ListView android:id="@+id/lv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" />
li_item_1.xml
<TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:textSize="24sp" android:text="TextView" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:textSize="24sp" android:text="TextView" />
lv_item_2.xml
<TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:textSize="24sp" android:text="TextView" /> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:textSize="24sp" android:text="TextView" /> <ImageView android:id="@+id/imageView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_launcher" />// Bean类 Goods.java
public class Goods {private String name;private String price;private int resId;private int typeId;public Goods(String name, String price, Integer typeId) {super();this.name = name;this.price = price;this.typeId = typeId;}public Goods(String name, String price, int resId, Integer typeId) {super();this.name = name;this.price = price;this.resId = resId;this.typeId = typeId;}public int getTypeId() {return typeId;}public void setTypeId(int typeId) {this.typeId = typeId;}public String getName() {return name;}public void setName(String name) {this.name = name;}public String getPrice() {return price;}public void setPrice(String price) {this.price = price;}public int getResId() {return resId;}public void setResId(int resId) {this.resId = resId;}@Overridepublic String toString() {return "Goods [name=" + name + ", price=" + price + ", resId=" + resId+ "]";}}
MApp.java
import android.app.Application;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;public class MApp extends Application { @Override public void onCreate() { super.onCreate(); ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(this).build(); ImageLoader.getInstance().init(config); }}
Mainactivity.java
import android.os.Bundle;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import com.nostra13.universalimageloader.core.ImageLoader;import java.util.ArrayList;import butterknife.BindView;import butterknife.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
- more item ListView demo
- ListView点击后改变item颜色的Demo
- More Effective C++:Item 27
- More Effective C++:Item 27
- 自定义ListView中的item
- listView中Item背景
- Android ListView Item ContextMenu
- ListView Item 选择隐藏
- listview item显示特效
- ListView多类型Item
- listView Item 焦点问题
- listview 访问item
- listview item 左右滑动
- ListView item 复用
- listview多种形式item
- listview不同item
- ListView Item左右滑动
- listView item进行更新
- 封装dialog大全
- PHP的简单工厂模式
- JdK源码阅读-集合类
- C++对象模型解析三
- Android Priority Job Queue使用(1)
- more item ListView demo
- 输入流转换字符串(解析)
- Java异常处理
- Spring学习笔记
- Ubuntu14.04上配置Swift3.0环境
- Spark统计词汇量/排行榜/中位数
- 选择排序
- Fast Compressive Tracking (高速压缩跟踪)
- SAS统计分析学习笔记(七)——相关和简单回归分析