package com.example.listview; import android.os.Bundle; import android.app.Activity; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; public class MainActivity extends Activity { private ListView mListView; //需要适配的数据 private String[] titles = { "蓝莓", "柠檬", "橙子", "水果篮", "香蕉", "草莓"}; private String[] prices = { "10元/盒", "2元/个", "10元/kg", "50元/篮", "12元/kg", "46元/kg"}; private String[] quality = { "30盒", "20个", "30kg", "10篮", "25kg", "15kg"}; //图片集合 private int[] icons = {R.drawable.table,R.drawable.apple,R.drawable.cake, R.drawable.wireclothes,R.drawable.kiwifruit,R.drawable.scarf}; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化ListView控件 mListView = (ListView) findViewById(R.id.lv); //创建一个Adapter的实例 MyBaseAdapter mAdapter = new MyBaseAdapter(); //设置Adapter mListView.setAdapter(mAdapter); } //创建一个类继承BaseAdapter class MyBaseAdapter extends BaseAdapter { //得到item的总数 @Override public int getCount() { //返回ListView Item条目的总数 return titles.length; } //得到Item代表的对象 @Override public Object getItem(int position) { //返回ListView Item条目代表的对象 return titles[position]; } //得到Item的id @Override public long getItemId(int position) { //返回ListView Item的id return position; } //得到Item的View视图 @Override public View getView(int position, View convertView, ViewGroup parent) { /* //将list_item.xml文件找出来并转换成View对象 View view = View.inflate(MainActivity.this, R.layout.list_item, null); //找到list_item.xml中创建的TextView TextView title = (TextView) view.findViewById(R.id.title); TextView price = (TextView) view.findViewById(R.id.price); TextView quality = (TextView) view.findViewById(R.id.quality); ImageView iv = (ImageView) view.findViewById(R.id.iv); title.setText(titles[position]); price.setText(prices[position]); quality.setText(quality[position]); iv.setBackgroundResource(icons[position]); return view;*/ ViewHolder holder = null; if(convertView == null){ //将list_item.xml文件找出来并转换成View对象 convertView = View.inflate(MainActivity.this, R.layout.list_item, null); //找到list_item.xml中创建的TextView holder = new ViewHolder(); holder.title = (TextView) convertView.findViewById(R.id.title); holder.price = (TextView) convertView.findViewById(R.id.price); holder.quality = (TextView) convertView.findViewById(R.id.quality); holder.iv = (ImageView) convertView.findViewById(R.id.iv); convertView.setTag(holder); }else{ holder = (ViewHolder) convertView.getTag(); } holder.title.setText(titles[position]); holder.price.setText(prices[position]); holder.quality.setText(quality[position]); holder.iv.setBackgroundResource(icons[position]); return convertView; } } static class ViewHolder{ public TextView quality; TextView title; TextView price; ImageView iv; } } <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignLeft="@+id/textView1" android:layout_alignParentTop="true" /> <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="50dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:background="#FF8F03" android:gravity="center" android:text="购物商城" android:textColor="#FFFFFF" android:textSize="18sp" /> </RelativeLayout> <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:padding="10dp"> <ImageView android:id="@+id/iv" android:layout_width="120dp" android:layout_height="90dp" android:layout_marginTop="70dp" android:layout_centerVertical="true" /> <RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="10dp" android:layout_toRightOf="@+id/iv" android:layout_centerVertical="true" > <TextView android:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="70dp" android:text="桌子" android:textColor="#000000" android:textSize="20sp" /> <TextView android:id="@+id/tv_price" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/title" android:text="价格:" android:textColor="#FF8F03" android:textSize="20sp" /> <TextView android:id="@+id/price" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="1000" android:textColor="#FF8F03" android:textSize="20sp" android:layout_below="@+id/title" android:layout_toRightOf="@+id/tv_price" /> <TextView android:id="@+id/title1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/tv_price" android:text="数量:" android:textColor="#FF8F03" android:textSize="20sp" /> <TextView android:id="@+id/quality" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/price" android:layout_toRightOf="@+id/title1" android:text="10" android:textColor="#FF8F03" android:textSize="20sp" /> </RelativeLayout> </LinearLayout>