一个标准的自定义适配器的编写
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; } }
相关文章推荐
- VB编写一个能显示百分比的自定义进度条控件
- p16.2编写一个程序,从标准输入读取几行输入,每行输入都要打印到标准输出上,前面要加上行号,书入行的长度没有限制
- 编写一个标准的strcpy函数
- 编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面要加上行号。
- 编写一个程序,验证从标准输入获得的信用卡号是否校验通过, 校验通过,则输出”成功“,校验未通过则输出”失败“。
- 自定义一个适配器
- 编写一个程序,从标准输入读取字符,并把它们写到标准输出中。除了大写字母字符要转化为小写字母之外,所有字符的输出形式应该和他的输入形式完全相同
- 编写一个程序从标准输入读取字符,并把它们写到标准输出。除了大写字母转化成小写字母之外,其他的原样输出。
- c#控件编写 (1)自定义一个Label
- 3.5 编写一个程序,从标准输入读入某职员的工作时间(以小时计)和每小时的工资 数,计算并输出他的工资。若职员月工作时间超过 40 小时,则超过部分按原工资的 1.5 倍 来计算。
- 自定义一个基本数组适配器
- 编写一个程序,从标准输入读入字符,并把它们写出在标准输出中。 所有非字母字符都完全按照它的输入形式输出,字母字符在输出前进行加密
- c程序:编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数
- 1. 编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现。
- 编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现
- 编写一个程序从标准输入读取字符,并把他们写到标准输出。除了大写字母转换成小写字母之外,其他的原样输出。
- C语言 编写一个程序从标准输入读取字符,并把他们写到标准输出。除了大写字母转换成小写字母之外,其他的原样输出。
- 编写一个程序,它从标准输入读取C源代码,并验证所有的花括号是否成对出现
- c#控件编写 (1)自定义一个Label
- 2. 编写一个程序,从标准输入读取几行输入。每行输入都要打印到标准输出上,前面加上行号。在编写这个程序的时候要使用让这个程序能够处理的输入行的长度没有限制