1. 程式人生 > 實用技巧 >Android_簡單的購物商城

Android_簡單的購物商城

 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 }