本帖最后由 yiyaaixuexi 于 2012-06-03 12:47:32 编辑

解决方案 »

  1.   

    把filesNameList2 = new ArrayList<FileItem>();
    这个改成
    ArrayList<FileItem> filesNameList2 = new ArrayList<FileItem>();
    再试试
      

  2.   

    说下个人的看法,不一定对,你可以试验一下。
    fileAdapter = new FileAdapter(MainFile.this, filesNameList2);这行代码,你等于是每次又重新new了一个adapter出来了,而这个adapter已经不是原来和listView绑定的adapter了。
      这样做等于是每次重新为listView设置一个adapter,你可以试试调用listView的invalidate方法,让其重绘。还有一种方法,直接更改fileAdapter中的数据源,不需要重新new一个出来。这样的话调用notify方法应该没问题,至少在我这里是可以的。
      

  3.   

    直接定义一个list搜索出来的覆盖掉list 在调用adapter.notifyDataSetChanged();
      

  4.   

    看Adapter和ListView用法是没问题的。你确定  filesNameList2 确实是有结果的?
    fileAdapter = new FileAdapter(MainFile.this, filesNameList2); 这句里filesNameList2确实
    更新了getCount,getView相关的数据?
      

  5.   

    你用handler从新填充下不久行了吗 同步刷新 有点不靠谱啊