public class nearby_custom extends Activity { private TextView tv_back; private ListView lv_list; private ImageButton ibtn_add_custom; private ArrayList<String> mName = new ArrayList<String>(); /**头像**/ private ArrayList<Bitmap> mPhoto = new ArrayList<Bitmap>(); private ArrayList<Bitmap> mButton=new ArrayList<Bitmap>(); @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.nearby_custom); findId(); tv_back.setOnClickListener(clickListener); setData(); } private void findId(){ tv_back=(TextView)findViewById(R.id.tv_back); lv_list=(ListView)findViewById(R.id.lv_list); } private void setData(){ String[] names=new String[]{"薄袭来","宝儿","张山峰","去亲爱","我是啊","耳啊是","谭咋鹅","赢正","啊而且啊","人啊一","哦哦哦" ,"啊鹅我","人啊去","想啊恩啊","你啊我","去而去","他安慰去"}; for (int i = 0; i < names.length; i++) { mName.add(names[i]); mPhoto.add(BitmapFactory.decodeResource(getResources(), R.drawable.default_avatar)); mButton.add(BitmapFactory.decodeResource(getResources(), R.drawable.btn_add_custom)); } lv_list.setAdapter(new apdater.nearby_custom(nearby_custom.this, mName, mPhoto, mButton)); } }
主要是重写 baseApdater中的getview:
public class nearby_custom extends BaseAdapter{
/**名称**/ private ArrayList<String> mName = null; /**头像**/ private ArrayList<Bitmap> mPhoto = null; private ArrayList<Bitmap> mButton=null; private LayoutInflater inflater; private Context mcontent=null; public nearby_custom(Context context,ArrayList<String> name,ArrayList<Bitmap> photo,ArrayList<Bitmap> btn){ this.mName=name; this.mPhoto=photo; this.mButton=btn; inflater=LayoutInflater.from(context); this.mcontent=context; } @Override public int getCount() { // TODO Auto-generated method stub return mName.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { if(convertView==null){ convertView=inflater.inflate(R.layout.nearby_custom_list_item, null); } ImageView ivPic=(ImageView)convertView.findViewById(R.id.iv_custom); TextView tv_custom=(TextView)convertView.findViewById(R.id.tv_custom); ImageButton ibtn_add=(ImageButton)convertView.findViewById(R.id.ibtn_add); ivPic.setImageBitmap(mPhoto.get(position)); tv_custom.setText(mName.get(position)); ibtn_add.setImageBitmap(mButton.get(position)); addListener(convertView); return convertView; } /** * 监听button事件 * **/ public void addListener(View convertView) { ((ImageButton)convertView.findViewById(R.id.ibtn_add)).setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(mcontent, "ok", Toast.LENGTH_LONG).show(); } }); } }
http://blog.csdn.net/xiaominghimi/article/details/6314704