【问题标题】:ArrayAdapter getView not called未调用 ArrayAdapter getView
【发布时间】:2015-08-21 00:49:54
【问题描述】:

我有一个自定义的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);

什么可能导致问题?

【问题讨论】:

  • 您是否通过调用 super() 在构造函数中正确地将数据传递给超类?如果您使用ArrayAdapter,则无需覆盖getCount。您也可以尝试扩展BaseAdapter而不是ArrayAdaper
  • @AbhishekV 我已经添加了我的构造函数代码。我认为它是正确的,但看看。
  • 刚刚检查,从网络加载数据后,您是否调用 notifydatasetchanged?
  • @CanPoyrazoğlu 构造函数似乎是正确的。
  • @prashant 我已经在加载数据后创建了带有加载数据的适配器。 (是的,我知道,也许不是最好的模式,但无论如何)

标签: android android-listview android-arrayadapter android-4.0-ice-cream-sandwich


【解决方案1】:

首先,请检查您在 getCount() 中的返回值,确保您在 getCount 中返回了数据(List,ArrayList 的大小)

其次,确保任何其他视图 TextView,View 不能与您的 ListView 重叠,如果不是,getView 无法呈现或绑定数据到您的 ListView 的 ListContent。所以在您的 CustomAdapter 中,您有 Data(List,ArrayList) 和这就是为什么不调用 getView() 的原因。

我希望这会帮助你工作。

【讨论】:

    【解决方案2】:

    更改 Layout(ListView) 的高度、宽度以匹配父级。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-16
      相关资源
      最近更新 更多