Android 利用ViewHolder优化自定义Adapter

本文展示了如何使用XML文档和实体类进行数据解析,包括XML文档结构、实体类定义、以及数据绑定过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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());
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值