Исключение нулевого указателя в getView ()пользовательского адаптера

Я использую этот пользовательский адаптер для своего ListView :

public class SideMenuAdapter extends BaseAdapter {

    private static final int TYPE_MAX_COUNT = 2;
    private static LayoutInflater inflater = null;
    private Activity activity;
    public static String[] values;
    ListView myList;

    public SideMenuAdapter(Activity a, String[] sa, ListView lv) {

        values = sa;
        activity = a;
        inflater = (LayoutInflater) activity
               .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        myList = lv;
    }

    public int getCount() {

        return values.length;
    }

    public Object getItem(int position) {

        return position;
    }

    public long getItemId(int position) {

        return position;
    }

    public static class ViewHolder {

        public TextView mainText;
        public TextView sideText;
    }

    public View getView(int position, View convertView, ViewGroup parent) {

        ViewHolder holder = new ViewHolder();
        View vi = convertView;
        if (vi == null) {

            //here i am getting NullPointerException
            vi.setTag(holder);
        } else {

            holder = (ViewHolder) vi.getTag();
        }
        vi = inflater.inflate(R.layout.side_menu_list_item, null);
        holder.mainText = (TextView) vi.findViewById(R.id.mainText_sideMenu);
        holder.sideText = (TextView) vi.findViewById(R.id.sideText_sideMenu);
        holder.mainText.setText(values[position]);
        if(position == 2){

            holder.sideText.setText("3");
            holder.sideText.setBackgroundResource(R.drawable.orange);
        }
        return convertView;
    }
    @Override
    public int getViewTypeCount() {

        return TYPE_MAX_COUNT;
    }
}

. я устанавливаю адаптер для моего списка таким образом:

    String menuItems[] = new String[] { "My Wants", "Profile", "Notifications",
            "Feedback", "Logout" };
    listView1.setAdapter(new SideMenuAdapter(this, menuItems, listView1));

где я не прав??

0
задан Archie.bpgc 3 August 2012 в 08:32
поделиться