Android 自定义ListViewAdapter

=================本文为自定义ListViewAdapter===================


package com.huihe.winemerchants.fragment;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;


import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ListView;


import com.huihe.winemerchants.R;
import com.huihe.winemerchants.adapter.AllOrderAdapter;


/**
 * 
 * @author 刘颖
 * @time 2014-7-15
 * @类别: 所有订单
 * @备注:
 */
public class AllOrderFragment extends Fragment {


private ListView listView;
private AllOrderAdapter allOrderAdapter;
private List<Map<String, Object>> listItems;
private Integer[] imgeIDs = { R.drawable.wine_1};
private String[] orderId = { "订单id:123456"};
private String[] orderType = { "交易完成" };
private String[] goosName = { "法国拉菲红酒   拉菲传奇红酒   原装进口",
 };
private String[] goodsStyle = { "双支棕色   礼盒套装", "双支棕色   礼盒套装",
"双支棕色   礼盒套装", "双支棕色   礼盒套装", "双支棕色   礼盒套装", "双支棕色   礼盒套装" };
private String[] buyersName = { "收款人:张炎"};
private String[] buyersDistance = { "距离:21Km"};
private String[] buyersTel = { "联系电话:1866682855", };
private String[] buyersAddress = { 
"联系地址:杭州滨江南环路xxx号xx大厦" };
private String[] orderMoney = { "总价格:5000元(已付款)", "总价格:5000元(已付款)",
"总价格:5000元(已付款)", "总价格:5000元(已付款)", "总价格:5000元(已付款)",
"总价格:5000元(已付款)" };


@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// TODO Auto-generated method stub


View view = inflater.inflate(R.layout.fragment_all_order, null);
listView = (ListView) view.findViewById(R.id.all_goods_list);
listItems = getListItems();
allOrderAdapter = new AllOrderAdapter(getActivity(), listItems);
listView.setAdapter(allOrderAdapter);
return view;
}


private List<Map<String, Object>> getListItems() {
List<Map<String, Object>> listItems = new ArrayList<Map<String, Object>>();
for (int i = 0; i < imgeIDs.length; i++) {
Map<String, Object> map = new HashMap<String, Object>();
map.put("image", imgeIDs[i]); // 图片资源
map.put("orderId", orderId[i]); // 物品名称
map.put("orderType", orderType[i]); // 物品信息
map.put("goosName", goosName[i]);// 时间
map.put("goodsStyle", goodsStyle[i]); // 物品名称
map.put("buyersName", buyersName[i]); // 物品信息
map.put("buyersDistance", buyersDistance[i]);// 时间
map.put("buyersTel", buyersTel[i]); // 物品名称
map.put("buyersAddress", buyersAddress[i]); // 物品信息
map.put("orderMoney", orderMoney[i]);// 时间
listItems.add(map);
}
return listItems;
}
}








Adapter类


package com.huihe.winemerchants.adapter;


import java.util.List;
import java.util.Map;


import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;


import com.huihe.winemerchants.R;


/**
 * 
 * @author 刘颖
 * @time 2014-7-1
 * @类别: 确认订单Adapter 适配器
 * @备注:
 */
public class AllOrderAdapter extends BaseAdapter {
// private Context context; // 运行上下文
private List<Map<String, Object>> listItems; // 商品信息集合
private LayoutInflater listContainer; // 视图容器


public final class ListItemView { // 自定义控件集合
public ImageView image;
public TextView orderId;
public TextView orderType;
public TextView goosName;
public TextView goodsStyle;
public TextView buyersName;
public TextView buyersDistance;
public TextView buyersTel;
public TextView buyersAddress;
public TextView orderMoney;


}


public AllOrderAdapter(Context context, List<Map<String, Object>> listItems) {
// this.context = context;
listContainer = LayoutInflater.from(context); // 创建视图容器并设置上下文
this.listItems = listItems;
}


public int getCount() {
// TODO Auto-generated method stub
return listItems.size();
}


public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}


public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}


/**
* ListView Item设置
*/
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
Log.e("method", "getView");
// final int selectID = position;
// 自定义视图
ListItemView listItemView = null;
if (convertView == null) {
listItemView = new ListItemView();
// 获取list_item布局文件的视图
convertView = listContainer.inflate(R.layout.all_order_adapter,
null);
// 获取控件对象
listItemView.image = (ImageView) convertView
.findViewById(R.id.all_order_img);
listItemView.orderId = (TextView) convertView
.findViewById(R.id.all_order_id);
listItemView.orderType = (TextView) convertView
.findViewById(R.id.all_order_type);
listItemView.goosName = (TextView) convertView
.findViewById(R.id.all_goods_name);
listItemView.goodsStyle = (TextView) convertView
.findViewById(R.id.all_goods_style);
listItemView.buyersName = (TextView) convertView
.findViewById(R.id.all_buyers_name);
listItemView.buyersDistance = (TextView) convertView
.findViewById(R.id.all_buyers_distance);
listItemView.buyersTel = (TextView) convertView
.findViewById(R.id.all_buyers_tel);
listItemView.buyersAddress = (TextView) convertView
.findViewById(R.id.all_buyers_address);
listItemView.orderMoney = (TextView) convertView
.findViewById(R.id.all_order_money);
// listItemView.content = (TextView) convertView
// .findViewById(R.id.txt_content);
// listItemView.time = (TextView) convertView
// .findViewById(R.id.txt_time);


convertView.setTag(listItemView);
} else {
listItemView = (ListItemView) convertView.getTag();
}


// 设置文字和图片
listItemView.image.setBackgroundResource((Integer) listItems.get(
position).get("image"));


listItemView.orderId.setText((String) listItems.get(position).get(
"orderId"));
listItemView.orderType.setText((String) listItems.get(position).get(
"orderType"));
listItemView.goosName.setText((String) listItems.get(position).get(
"goosName"));
listItemView.goodsStyle.setText((String) listItems.get(position).get(
"goodsStyle"));
listItemView.buyersName.setText((String) listItems.get(position).get(
"buyersName"));
listItemView.buyersDistance.setText((String) listItems.get(position)
.get("buyersDistance"));
listItemView.buyersTel.setText((String) listItems.get(position).get(
"buyersTel"));
listItemView.buyersAddress.setText((String) listItems.get(position)
.get("buyersAddress"));
listItemView.orderMoney.setText((String) listItems.get(position).get(
"orderMoney"));


// 设置item的高度
// AbsListView.LayoutParams lp = new AbsListView.LayoutParams(
// LinearLayout.LayoutParams.FILL_PARENT, 450);
// convertView.setLayoutParams(lp);


return convertView;
}
}




XML类

<?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:orientation="vertical" >


    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >


        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginLeft="5dp"
            android:layout_marginRight="5dp"
            android:background="@drawable/btn_bag_line"
            android:orientation="vertical" >


            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >


                <TextView
                    android:id="@+id/all_order_id"
                    android:layout_width="fill_parent"
                    android:layout_height="50dp"
                    android:layout_marginLeft="5dp"
                    android:layout_weight="1.0"
                    android:gravity="center|left"
                    android:text="订单号:4956875321458" />


                <TextView
                    android:id="@+id/all_order_type"
                    android:layout_width="150dp"
                    android:layout_height="50dp"
                    android:layout_marginLeft="5dp"
                    android:layout_marginRight="1dp"
                    android:layout_weight="1.0"
                    android:background="@drawable/order_type"
                    android:gravity="center|right"
                    android:text="交易完成" />
            </LinearLayout>


            <View
                android:layout_width="fill_parent"
                android:layout_height="0.5dp"
                android:background="@color/lin_color" />


            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="horizontal" >


                <ImageView
                    android:id="@+id/all_order_img"
                    android:layout_width="80dp"
                    android:layout_height="80dp"
                    android:layout_marginLeft="2dp"
                    android:layout_marginTop="5dp"
                    />


                <LinearLayout
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginBottom="5dp"
                    android:layout_marginTop="5dp"
                    android:layout_weight="1.0"
                    android:orientation="vertical" >


                    <TextView
                        android:id="@+id/all_goods_name"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:layout_marginTop="5dp"
                        android:text="法国拉菲红酒   拉菲传奇红酒   原装进口"
                        android:textSize="12sp" />


                    <TextView
                        android:id="@+id/all_goods_style"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:text="双支棕色   礼盒套装"
                        android:textSize="12sp" />


                    <LinearLayout
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:orientation="horizontal" >


                        <TextView
                            android:id="@+id/all_buyers_name"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="5dp"
                            android:layout_marginTop="3dp"
                            android:layout_weight="1.0"
                            android:text="收款人:张炎"
                            android:textSize="12sp" />


                        <TextView
                            android:id="@+id/all_buyers_distance"
                            android:layout_width="fill_parent"
                            android:layout_height="wrap_content"
                            android:layout_marginLeft="5dp"
                            android:layout_marginTop="3dp"
                            android:layout_weight="1.0"
                            android:text="距离:21Km"
                            android:textSize="12sp" />
                    </LinearLayout>


                    <TextView
                        android:id="@+id/all_buyers_tel"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:layout_marginTop="3dp"
                        android:text="联系电话:1866682855"
                        android:textSize="12sp" />


                    <TextView
                        android:id="@+id/all_buyers_address"
                        android:layout_width="fill_parent"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="5dp"
                        android:layout_marginTop="3dp"
                        android:text="联系地址:杭州滨江南环路3820号卓信大厦"
                        android:textSize="12sp" />
                </LinearLayout>
            </LinearLayout>


            <View
                android:layout_width="fill_parent"
                android:layout_height="0.5dp"
                android:background="@color/lin_color" />


            <LinearLayout
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:orientation="vertical" >


                <TextView
                    android:id="@+id/all_order_money"
                    android:layout_width="fill_parent"
                    android:layout_height="50dp"
                    android:layout_marginLeft="5dp"
                    android:gravity="center|left"
                    android:text="总价格:5000元(已付款)" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>


</LinearLayout>


<?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:orientation="vertical" >


    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >


        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:background="@color/touming" >


            <TextView
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:layout_weight="1.0"
                android:gravity="center"
                android:text="搜索结果:"
                android:textSize="15sp" />


            <TextView
                android:id="@+id/search_result"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_margin="10dp"
                android:layout_weight="0.4"
                android:gravity="center|left"
                android:text="共200条"
                android:textSize="15sp" />
        </LinearLayout>


        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical" >


            <ListView
                android:id="@+id/all_goods_list"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" >
            </ListView>
        </LinearLayout>
    </LinearLayout>


</LinearLayout>











评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值