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

不能使用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}}