您的位置:首页 > 其它

一个标准的自定义适配器的编写

2013-11-20 19:32 411 查看
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;
}

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