自定义BaseAdapter getview获取android的错误位置

时间:2014-09-29 21:13:01

标签: java android listview baseadapter

我知道这样的问题已经被问到,但是我经历了我看到的所有解决方案,并且没有工作过。 这是我的适配器

class Adapter extends BaseAdapter {
    Activity context;
    public Adapter(Activity context) {
        this.context = context;
    }


    @Override
    public int getCount() {
        return Constants.CHARACTERS_NAMES.length;
    }

    @Override
    public Object getItem(int i) {
        return null;
    }

    @Override
    public long getItemId(int i) {
        return 0;
    }

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

        ViewHolder holder;
            if (convertView == null) {
                convertView = context.getLayoutInflater().inflate(R.layout.list_charecter_item, null);
                holder = new ViewHolder();
                holder.PlayerName = (TextView) convertView.findViewById(R.id.name);
                holder.PlayerName.setText(Constants.CHARACTERS_NAMES[position]);
                convertView.setTag(holder);

            } else {
                holder = (ViewHolder) convertView.getTag();
            }
        return convertView;
    }
    private class ViewHolder {
        TextView PlayerName;
    }
}

这是一个标准的适配器,但当我用listview调试它而不是获取所有我的7个项目在Constants.CHARACTERS_NAMES我得到4个第一项正确,但我得到第一个项目两次,然后第二个项目

请帮忙。

0 个答案:

没有答案