Android_簡單的購物商城
阿新 • • 發佈:2020-12-06
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 }