1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
3 android:layout_width="match_parent"
4 android:layout_height="match_parent"
5 android:orientation="vertical">
6 <TextView
7 android:layout_width="match_parent"
8 android:layout_height="45dp"
9 android:text="购物商城"
10 android:textSize="18sp"
11 android:textColor="#FFFFFF"
12 android:background="#FF8F03"
13 android:gravity="center"/>
14 <ListView
15 android:id="@+id/lv"
16 android:layout_width="match_parent"
17 android:layout_height="wrap_content"/>
18 </LinearLayout>
1 <?xml version="1.0" encoding="utf-8"?>
2 <RelativeLayout
3 xmlns:android="http://schemas.android.com/apk/res/android"
4 android:layout_width="match_parent"
5 android:layout_height="match_parent"
6 android:padding="16dp">
7 <ImageView
8 android:id="@+id/iv"
9 android:layout_width="120dp"
10 android:layout_height="90dp"
11 android:layout_centerVertical="true"/>
12 <RelativeLayout
13 android:layout_width="wrap_content"
14 android:layout_height="wrap_content"
15 android:layout_marginLeft="10dp"
16 android:layout_toRightOf="@+id/iv"
17 android:layout_centerVertical="true">
18 <TextView
19 android:id="@+id/title"
20 android:layout_width="wrap_content"
21 android:layout_height="wrap_content"
22 android:text="桌子"
23 android:textSize="20sp"
24 android:textColor="#000000" />
25 <TextView
26 android:id="@+id/tv_price"
27 android:layout_width="wrap_content"
28 android:layout_height="wrap_content"
29 android:text="价格:"
30 android:textSize="20sp"
31 android:layout_marginTop="10dp"
32 android:layout_below="@+id/title"
33 android:textColor="#FF8F03" />
34 <TextView
35 android:id="@+id/price"
36 android:layout_width="wrap_content"
37 android:layout_height="wrap_content"
38 android:text="1000"
39 android:textSize="20sp"
40 android:layout_below="@+id/title"
41 android:layout_toRightOf="@+id/tv_price"
42 android:textColor="#FF8F03"
43 android:layout_marginTop="10dp"/>
44 </RelativeLayout>
45 </RelativeLayout>
1 package cn.itcast.listview;
2 import android.app.Activity;
3 import android.os.Bundle;
4 import android.view.View;
5 import android.view.ViewGroup;
6 import android.widget.BaseAdapter;
7 import android.widget.ImageView;
8 import android.widget.ListView;
9 import android.widget.TextView;
10 public class MainActivity extends Activity {
11 private ListView mListView;
12 //需要适配的数据
13 private String[] titles = { "桌子", "苹果", "蛋糕", "线衣", "猕猴桃",
14 "围巾"};
15 private String[] prices = { "1800元", "10元/kg", "300元", "350元", "10元/kg",
16 "280元"};
17 //图片集合
18 private int[] icons = {R.drawable.table,R.drawable.apple,R.drawable.cake,
19 R.drawable.wireclothes,R.drawable.kiwifruit,R.drawable.scarf};
20 protected void onCreate(Bundle savedInstanceState) {
21 super.onCreate(savedInstanceState);
22 setContentView(R.layout.activity_main);
23 //初始化ListView控件
24 mListView = (ListView) findViewById(R.id.lv);
25 //创建一个Adapter的实例
26 MyBaseAdapter mAdapter = new MyBaseAdapter();
27 //设置Adapter
28 mListView.setAdapter(mAdapter);
29 }
30 //创建一个类继承BaseAdapter
31 class MyBaseAdapter extends BaseAdapter {
32 //得到item的总数
33 @Override
34 public int getCount() {
35 //返回ListView Item条目的总数
36 return titles.length;
37 }
38 //得到Item代表的对象
39 @Override
40 public Object getItem(int position) {
41 //返回ListView Item条目代表的对象
42 return titles[position];
43 }
44 //得到Item的id
45 @Override
46 public long getItemId(int position) {
47 //返回ListView Item的id
48 return position;
49 }
50 //得到Item的View视图
51 @Override
52 public View getView(int position, View convertView, ViewGroup parent) {
53 /* //将list_item.xml文件找出来并转换成View对象
54 View view = View.inflate(MainActivity.this,
55 R.layout.list_item, null);
56 //找到list_item.xml中创建的TextView
57 TextView title = (TextView) view.findViewById(R.id.title);
58 TextView price = (TextView) view.findViewById(R.id.price);
59 ImageView iv = (ImageView) view.findViewById(R.id.iv);
60 title.setText(titles[position]);
61 price.setText(prices[position]);
62 iv.setBackgroundResource(icons[position]);
63 return view;*/
64 ViewHolder holder = null;
65 if(convertView == null){
66 //将list_item.xml文件找出来并转换成View对象
67 convertView = View.inflate(MainActivity.this, R.layout.list_item, null);
68 //找到list_item.xml中创建的TextView
69 holder = new ViewHolder();
70 holder.title = (TextView) convertView.findViewById(R.id.title);
71 holder.price = (TextView) convertView.findViewById(R.id.price);
72 holder.iv = (ImageView) convertView.findViewById(R.id.iv);
73 convertView.setTag(holder);
74 }else{
75 holder = (ViewHolder) convertView.getTag();
76 }
77 holder.title.setText(titles[position]);
78 holder.price.setText(prices[position]);
79 holder.iv.setBackgroundResource(icons[position]);
80 return convertView;
81
82
83
84 }
85
86 }
87 static class ViewHolder{
88 TextView title;
89 TextView price;
90 ImageView iv;
91 }
92 }