我遇到的唯一问题是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();