自定义ArrayAdapter只调用一次getView

时间:2014-10-10 19:33:46

标签: android android-arrayadapter

我遇到的唯一问题是getView只被调用一次。 我试图通过覆盖getCount来修复它,所以我可以验证它是否正确返回2。

我在这里看过几个类似的帖子,但大多数修复都与覆盖getCount有关,我已经完成了。

我知道我设置listview的适配器不是问题,因为它实际上显示了一个项目。我也知道这不是项目布局的问题,因为getView只被调用一次。

public class PostAdapter extends ArrayAdapter<ParseObject> {
    private final Context context;
    private final ParseObject[] values;

    public PostAdapter(Context context, ParseObject[] values) {
        super(context, R.layout.post_item, values);
        this.context = context;
        this.values = values;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View rowView = inflater.inflate(R.layout.post_item, parent, false);
        //Do stuff
        return rowView;
    }

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

我是否遗漏了任何可能阻止其工作的信息?

编辑:这是我设置适配器的代码

PostAdapter adapter = new PostAdapter(activity, parseObjects.toArray(new ParseObject[0]));
((ListView) activity.findViewById(R.id.postList)).setAdapter(adapter);
adapter.notifyDataSetChanged();

0 个答案:

没有答案