如果不存在,直接在数据集中删除该条记录,然后adapter再notify一下

解决方案 »

  1.   

    loading 不了 的 异步载入完毕回调成功已否给 adapter , adapter把载入失败的条目给activity 剔除 相应的数据源条目,  重新adapter.notifyDataSetChanged。
      

  2.   


    这样做的话,页面可能显示10条list,其中有两个是空的,然后页面重新刷新一下,图片变成八条数据。
    有没有办法在getview的时候或者,第一次显示的时候直接显示八条数据呢?(load不了的图片不显示)
      

  3.   

    那除非你预加载,在没有执行getview前就load,然后重置数据集
      

  4.   

    觉得吧,加载失败就直接给个什么默认显示吧。
    失败后删除或隐藏用户体验都不好。
    在getView之前load?不可能达到要求。
    在URL添加到list之前一个个验证,失败的不添加?这个是可以,可是,太浪费和多余了。综上:从你个人要求的效果上,选择一个较切合的吧。[当然不是从我说的中]
      

  5.   


    我目前的做法是
    1.在Fragment的onCreateView中初始化listview 和adapter;(这时没有数据,getcount定义如下)
    public int getCount(int section) {
                return mUrls == null ? 0 : mUrls.size();
            }
    2.然后在onActivityCreated中进行网络请求,获取图片信息和url,notifyDataSetChanged
    3.此时getview开始初始化页面。
    问题就是在生成getview的时候如何不显示load不了的图片?数据是在初始化onCreateView之后生成的。有没有办法在getview函数里面强制不放该getview显示?
    而不是整个listview显示完后重置数据再notifyDataSetChanged。
      

  6.   


    现在就是加载失败就显示默认图片,但是客户要求改成加载失败时不让它显示。
    如果想在url添加到list之前一个个验证的话,如何做呢?
    我试过,但是验证的网络请求是在其他线程进行,如何在所有线程结束后进行更新呢?
      

  7.   


    现在就是加载失败就显示默认图片,但是客户要求改成加载失败时不让它显示。
    如果想在url添加到list之前一个个验证的话,如何做呢?
    我试过,但是验证的网络请求是在其他线程进行,如何在所有线程结束后进行更新呢?一个个验证,那就是一个个类似下载似的,但这个笨方法有时也不准。
    问你的客户,比如,超时了你怎么处理呢?也不显示?
    一个个验证既浪费网络资源又浪费时间,用户体验更不好。
    所以,分析给你的客户听,然后再让他选择。如果再不行,你就不要用listview了,直接动态在一个layout中添加imageview,大小自适应,成功就添加,如果失败时,它就显示不出来了。
      

  8.   

    该问题本来是在listview中显示默认图片的,可是用户非要不让显示,最后改称,获取图片url信息后开一个单线程,把整个图片下载下来,把不能显示的图片剔除,最终显示到listview。