首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

不能使用listview控件 步骤里 getView() 里面 View 缓存。

2013-12-07 
不能使用listview控件 方法里 getView() 里面 View 缓存。。。我在getview 里面写了类似与 qq 聊天 界面左右

不能使用listview控件 方法里 getView() 里面 View 缓存。。。
我在getview 里面  写了类似与 qq 聊天 界面左右显示 使用到 四个 view 界 面,使用缓存就null报错,不使用都正常,最好可以远程看看 qq:815107057,

public class MessageAdapter extends BaseAdapter {Context context;private List<Mes> MessageLists;private LayoutInflater inflater;public MessageAdapter(Context context, List<Mes> MessageLists) {this.context = context;this.MessageLists = MessageLists;inflater = LayoutInflater.from(context);}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn MessageLists.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn MessageLists.get(position);}static final int LEFT_TEXT =100;static final int RIGHT_TEXT = 1;static final int RIGHT_VI = 2;static final int RIGHT_POTO = 3;@Overridepublic int getItemViewType(int position) {Mes message = (Mes) getItem(position);if (message.getBelong().equals("1")) { //判断左边 还是 右边return LEFT_TEXT;} else{int s = Integer.valueOf(message.getClas());switch(s){case RIGHT_TEXT:return RIGHT_TEXT;case RIGHT_VI:return RIGHT_VI;case RIGHT_POTO:return RIGHT_POTO;}}return 1000000000;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {Holder holder = null;//if (convertView == null) {holder = new Holder();switch (getItemViewType(position)) {case LEFT_TEXT:convertView = inflater.inflate(R.layout.left_message_font, null);holder.left_tv_mescon = (TextView) convertView.findViewById(R.id.left_txt_message);break;case RIGHT_TEXT:convertView = inflater.inflate(R.layout.right_message_item_font, null);holder.right_tv_mescon = (TextView) convertView.findViewById(R.id.right_txt_message);break;case RIGHT_VI:convertView = inflater.inflate(R.layout.right_message_item_vi,null);break;case RIGHT_POTO:convertView = inflater.inflate(R.layout.right_message_item_poto, null);break;}//convertView.setTag(holder);//} else {//holder = (Holder) convertView.getTag();//}final Mes message = (Mes) getItem(position);switch (getItemViewType(position)) { case LEFT_TEXT:holder.left_tv_mescon.setText(message.getMes());/*  去掉添加数据代码 */break;case RIGHT_TEXT: holder.right_tv_mescon.setText(message.getMes());/*/*  去掉添加数据代码 */break;case RIGHT_VI:/*/*  去掉添加数据代码 */break;case RIGHT_POTO:/*  去掉添加数据代码 */break;}return convertView;}class Holder {// left fontpublic TextView left_tv_mescon;// right fontpublic TextView right_tv_mescon;// right vipublic TextView right_tv_chatcontent;// right poto}}

热点排行