class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
return blacknamebins.size();
}
@Override
public Object getItem(int i) {
//這個(gè)是返回當(dāng)前選擇條目?jī)?nèi)容
return blacknamebins.get(i);
}
@Override
public long getItemId(int i) {
//這個(gè)是返回當(dāng)前選擇條目的索引值
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
//返回一個(gè)條目所對(duì)應(yīng)的View對(duì)象 (第三個(gè)參數(shù)為是否要掛在到父控件上 一般傳入null)
View BlacknameView = View.inflate(Blackname_Activity.this, R.layout.listview_blackname, null);
//找到控件
tv_listView_blackname_phone = (TextView) BlacknameView.findViewById(R.id.tv_ListView_Blackname_Phone);
tv_listView_blackname_mode = (TextView) BlacknameView.findViewById(R.id.tv_ListView_Blackname_mode);
iv_blackname_del = (ImageView) BlacknameView.findViewById(R.id.iv_Blackname_del);
return BlacknameView;
}
}
優(yōu)化:1:ConvertView的復(fù)用
2:findViewById()的復(fù)用
1:ConvertView的復(fù)用
if (view==null){
//返回一個(gè)條目所對(duì)應(yīng)的View對(duì)象 (第三個(gè)參數(shù)為是否要掛在到父控件上 一般傳入null)
view = View.inflate(Blackname_Activity.this, R.layout.listview_blackname, null);
}
2:findViewById()的復(fù)用
1:創(chuàng)建一個(gè)靜態(tài)的ViewHolder類(lèi)
里面創(chuàng)建你在ListView每個(gè)條目中想要找到的控件的名稱(chēng)
static class ViewHolder{
TextView tv_listView_blackname_phone;
TextView tv_listView_blackname_mode;
ImageView iv_blackname_del;
}
2:生成ViewHolder的對(duì)象
ViewHolder viewHolder = new ViewHolder();
3:如果是第一次
完整的
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder viewHolder = new ViewHolder();
if (convertView==null){
convertView = View.inflate(MainActivity.this, R.layout.item, null);
viewHolder.textView= (TextView)convertView.findViewById(R.id.te);
convertView.setTag(viewHolder);
}else {
viewHolder = (ViewHolder) convertView.getTag();
}
viewHolder.textView.setText(object[position]);
return convertView;
}
}
static class ViewHolder{
TextView textView;
}