android 开发在适配器中调用了 Navigation Drawer Listview 不更新 的问题

文章标签: android,android-listview
2014-11-3 13:21:44     人阅读    

我有一个ListView控件上展示了一个Navigation Drawer 。并自定义了一个adapter  来填充数据,具体代码如下:

public int getCount() {
  return array1.size() + array2.size();
}

@Override
public View getView(int position, View convertView, ViewGroup parent) {
  if (position < array1.size())
     // return a view  generated from first array
  }
  else {
     // returns a view generated from the second array
  }
}

ListView和适配器通过如下代码关联适配器

mDrawerList.setAdapter(adapter);


 

 

        最初,、onCreate()调用后 ,ARRAY2为空; 只有ARRAY1 展示到了ListView中、。随后,后台线程填充ARRAY2,我希望ARRAY2出现在ListView 总  。为了实现这一点,我再主线程中调用了notifyDataSetChanged()。不幸的是,发现lietView并没有更新为ARRAY2 的内容。

        调试后,我发现我的getCount()方法获取返回的数量是正确的,但getView()方法没有被调用。我保证在ListView没有隐藏其他部件。

     奇怪的是,一旦我点击的ListView控件,它就会根据需要更新展示 array2 。

    我该怎么做才能调用notifyDataSetChanged 进行页面刷新? 

 

处理方法

最好的方法是使用ArrayAdapter。所以,当你有新的项目添加到列表中..只是调用adapter.add(“你的对象”) ,就会调用对应的getView()来更新视图。


注意:这将在最后一个项目在列表视图中添加的项目。


原文地址:http://www.itmmd.com/201411/109.html
该文章由 萌萌的IT人 整理发布,转载须标明出处。

android listView 点击自定义 Listview 项目,更新背景图片   上一篇
下一篇  android开发,如果创建一个没有标题的dialog
精彩回复
我要追加问题,请求站长解决!
姓名:       

《程序员app》专门为程序员量身定做!