ListView有关问题求解

ListView问题求解
重写了
getViewTypeCount和getItemViewType后报错
ListView有关问题求解

具体代码
public class Item_Adapter extends BaseAdapter {
private List<Integer> ls = new ArrayList<Integer>();
private Context mContext;
private final int MaxLayout = 2;
private int currentType;

public Item_Adapter(Context mContext) {
super();
this.mContext = mContext;
for (int i = 0; i < 50; i++) {
ls.add(i);
}
}

@Override
public int getViewTypeCount() {
// TODO Auto-generated method stub
return MaxLayout;
}

@Override
public int getItemViewType(int position) {
// TODO Auto-generated method stub
if (position == 0) {
currentType = 2;
return 2;
}
if (position % 4 == 0) {
currentType = 1;
return 1;
} else {
currentType = 2;
return 2;
}
}

@Override
public int getCount() {
// TODO Auto-generated method stub
return ls.size();
}

@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return ls.get(position);
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHoler viewHoler = null;
ViewHoler1 viewHoler1 = null;
if (convertView == null) {
switch (currentType) {
case 1:
convertView = LayoutInflater.from(mContext).inflate(
R.layout.list_fgx, null);
viewHoler1 = new ViewHoler1();
viewHoler1.gg = (TextView) convertView.findViewById(R.id.gg);
convertView.setTag(viewHoler);
break;
case 2:
convertView = LayoutInflater.from(mContext).inflate(
R.layout.list_item, null);
viewHoler = new ViewHoler();
viewHoler.title = (TextView) convertView
.findViewById(R.id.title);
convertView.setTag(viewHoler);
break;
default:
break;
}
} else {
switch (currentType) {
case 1:
viewHoler1 = (ViewHoler1) convertView.getTag();
break;
case 2:
viewHoler = (ViewHoler) convertView.getTag();
break;
default:
break;
}
}

switch (currentType) {
case 1:
viewHoler1.gg.setText("这是广告");
break;
case 2:
viewHoler.title.setText("这是标题");
break;
default:
break;
}
return convertView;
}

static class ViewHoler {
TextView title;
}

static class ViewHoler1 {
TextView gg;
}

}


找了一上午了 都没看出哪里有问题 调试的话就直接进错了 ListView有关问题求解
------解决方案--------------------
这是我最近弄的不同布局的代码 希望对你有帮助
package cn.jianguo.qinzi.view.adapter;

import java.util.List;

import android.content.Context;
import android.graphics.Color;
import android.text.Spannable;
import android.text.SpannableString;
import android.text.style.ForegroundColorSpan;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
import cn.jianguo.qinzi.R;
import cn.jianguo.qinzi.constant.Constant;
import cn.jianguo.qinzi.http.MessageHandlerList;
import cn.jianguo.qinzi.ui.NoticeActivity;
import cn.jianguo.qinzi.view.adapter.bean.NoticeData;

import com.lidroid.xutils.BitmapUtils;
import com.lidroid.xutils.ViewUtils;
import com.lidroid.xutils.view.annotation.ViewInject;

public class NoticeAdapter extends BaseAdapter {
private List<NoticeData> list;
private Context mContext;
private BitmapUtils mBitmapUtils;
private int type;//要显示的页面 0 表示消息、1 表示赞、2 表示动态、3 表示私信
private ViewHolder holder;
private SpannableString sp;

public NoticeAdapter(Context context, List<NoticeData> list ,int type) {
this.list = list;
this.type = type;
this.mContext = context;
mBitmapUtils = new BitmapUtils(mContext);
}

@Override
public int getCount() {
return list.size();