实现自己的adapter就可以了:
package com.cn.adapter; import java.util.ArrayList; import java.util.HashMap; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.View.OnClickListener; import android.widget.BaseAdapter; import android.widget.Button; import android.widget.CheckBox; import android.widget.TextView; import com.cn.activity.MainActivity; import com.cn.activity.R; public class MyAdapter extends BaseAdapter { private LayoutInflater mInflater; private ArrayList<String> list; String buttonText; String adapterNumber; public MyAdapter(Context c, ArrayList<String> map){ mInflater = LayoutInflater.from(c); buttonText = c.getString(R.string.release); list = map; } public int getCount() { // TODO Auto-generated method stub return list.size(); } public Object getItem(int position) { // TODO Auto-generated method stub return list.get(position); } public long getItemId(int position) { // TODO Auto-generated method stub return position; } public View getView(int position, View convertView, ViewGroup arg2) { ViewItem vi = new ViewItem(); if(convertView == null){ convertView = mInflater.inflate(R.layout.mainlist, null); vi.number = (TextView)convertView.findViewById(R.id.mainnumber); vi.listButton = (Button)convertView.findViewById(R.id.listbutton); convertView.setTag(vi); }else{ vi = (ViewItem) convertView.getTag(); } adapterNumber = list.get(position).toString(); vi.number.setText(adapterNumber); vi.listButton.setText(buttonText); vi.listButton.setOnClickListener(releaseListener); return convertView; } OnClickListener releaseListener = new OnClickListener() { public void onClick(View arg0) { MainActivity.deleteNumber(adapterNumber); } }; public final class ViewItem{ public TextView name; public TextView number; public Button listButton; } }