我有一个自定义ArrayAdapter
,即使调用了我的getCount
方法,(并且我返回了我的数组计数,在示例中,该计数是181)我的getView
未被调用。这从今天开始,它似乎是随机发生的。有时,它会被调用并完美显示。有时,在加载数据后,它只是保持空白。以下是一些事项:
getCount
中放了一个断点,它返回一个正数。setAdapter
方法中设置了一个断点,它在UI线程上正常调用。 (如果没有调用,getCount
无论如何都不会被调用)有趣的是,并非总是会发生这种情况。几分钟前我已经重新启动了我的设备(Galaxy S3,如果有帮助)并且问题消失了,但是现在,当我写这些问题时,它又回来了。我已经检查了我的网络连接,没有问题(无论如何我都成功获得了一系列项目)。我已经看到很多关于这个具体问题的问题,但没有一个能解决我的问题。如果有帮助,我会参加ICS。
这是我的构造函数:
protected List<Map<String, Object>> objects;
protected Map<String, Object> user;
public FeedAdapter(Context context, List<Map<String, Object>> objects, Map<String, Object> attachedUser) {
super(context, 0, objects);
this.objects = objects;
this.user = attachedUser;
}
我在数据加载处理程序的UI线程上显式调用它(dataSource
对许多项有效):
dataSource = (ArrayList<Map<String, Object>>) task.getResult();
FeedAdapter adapter = new FeedAdapter(getActivity(), dataSource, getUser());
ListView list = (ListView) rootView.findViewById(R.id.listView);
list.setOnItemClickListener(self);
list.setAdapter(adapter);
什么可能导致问题?
答案 0 :(得分:1)
首先,请检查你在getCount()中的返回,确保你已经在getCount中返回了你的数据(List,ArrayList的大小)
其次,确保任何其他视图TextView,View可能与ListView不重叠,如果不是,则getView无法将数据呈现或绑定到ListView的ListContent.So在CustomAdapter中有数据(List,ArrayList)和这就是没有调用getView()的原因。
我希望这会帮助你工作。
答案 1 :(得分:-1)
更改布局(ListView)高度,宽度以匹配父级。