您的位置:首页 > 移动开发 > Android开发

Android 利用ViewHolder优化自定义Adapter

2016-01-26 17:21 567 查看
xml文档:

 <TextView

            android:id="@+id/liu_shui_hao_textView"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

             android:paddingTop="5dp"

             android:textSize="12sp"

            android:text="单号" />

        <TextView

            android:id="@+id/chong_zhi_jine_textView"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

             android:textSize="12sp"

              android:paddingTop="5dp"

            android:text="金额" />

        <TextView

            android:id="@+id/chong_zhi_date_textView"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

             android:paddingTop="5dp"

             android:textSize="12sp"

            android:text="时间" />

实体类:

public class SerialNumberEntity {

 //日期
 
private String date;

 //单号

private String num;

  //金额
 
private String sum;

public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getSum() {
return sum;
}
public void setSum(String sum) {
this.sum = sum;
}

@Override
public String toString() {
return num+";"+sum+";"+date;
}

}

import java.util.List;

import com.example.company.R;

import com.example.company.bean.SerialNumberEntity;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.TextView;

public class ExtractLogAdapter extends BaseAdapter {
List<SerialNumberEntity> list;
public ExtractLogAdapter(List<SerialNumberEntity> list){
this.list = list;
}
@Override
public int getCount() {
return list.size();
}

@Override
public Object getItem(int position) {
return list.get(position);
}

@Override
public long getItemId(int position) {
return position;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView==null){
holder = new ViewHolder();
LayoutInflater inflater = LayoutInflater.from(parent.getContext());
convertView = inflater.inflate(R.layout.item_cha_xun_chong_zhi, parent, false);
holder.num = (TextView) convertView.findViewById(R.id.liu_shui_hao_textView);
holder.sum = (TextView) convertView.findViewById(R.id.chong_zhi_jine_textView);
holder.date = (TextView) convertView.findViewById(R.id.chong_zhi_date_textView);
convertView.setTag(holder);
}
holder = (ViewHolder) convertView.getTag();
SerialNumberEntity sne = list.get(position);
setValues(holder, sne);
return convertView;
}

//定义一个viewholder类

class ViewHolder{
public TextView num;
public TextView date;
public TextView sum;
}

//获取数据并将得到的数据放到textview控件上

private void setValues(ViewHolder holder, SerialNumberEntity sne) {
holder.num.setText(sne.getNum());
holder.sum.setText(sne.getSum());
holder.date.setText(sne.getDate());
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: