package com.siyehuazhilian.control;
import java.util.ArrayList;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.siyehuazhilian.smsdemo.R;
import com.siyeuazhilian.model.SMS;
public class MyListViewAdapter extends BaseAdapter {
private ArrayList<SMS> list;
private LayoutInflater inflater;
private Context context;
public void setList(ArrayList<SMS> list) {
this.list = list;
}
public void addData(SMS sms) {
if (list == null) {
list = new ArrayList<SMS>();
}
list.add(sms);
}
public MyListViewAdapter(Context context) {
this.context = context;
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}
@Override
public int getCount() {
return list == null ? 0 : 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) {
ViewHodler hodler;
if (convertView == null) {
convertView = inflater.inflate(R.layout.sms_listview_item, null);
hodler = new ViewHodler();
hodler.intTextView = (TextView) convertView
.findViewById(R.id.textview_smsin);
hodler.outTextView = (TextView) convertView
.findViewById(R.id.textview_smsout);
// 设置tag
convertView.setTag(hodler);
} else {
hodler = (ViewHodler) convertView.getTag();
}
// 倒序问题
position = getCount() - 1 - position;
if (list.get(position).getType() == 1) {
hodler.intTextView.setVisibility(View.VISIBLE);
hodler.intTextView.setText(list.get(position).getBody());
} else if (list.get(position).getType() == 2) {
hodler.outTextView.setVisibility(View.VISIBLE);
hodler.outTextView.setText(list.get(position).getBody());
}
return convertView;
}
class ViewHodler {
TextView intTextView;
TextView outTextView;
}
}
一个标准的自定义适配器的编写
最新推荐文章于 2022-10-06 17:34:23 发布