数据为空,这个就是setEmptyView,一句话的问题,实在不行把它写在一个公共的基础类中,至于加载提示,我一般是跟网络请求绑定的,而不是跟listview绑定的。网络请求现在在尝试使用android-async-http这个开源库。感觉封装的不错。

解决方案 »

  1.   

    看看人家其他app的,仿照下呗,
      

  2.   

    说一下我的实现方法,先自定义一个类继承Activity,里面有个AlertDialog的成员变量,AlertDialog在onCreate()里面设置你想要的显示loading的View,然后增加两个方法分别是显示和隐藏AlertDialog。当你有新的Activity需要做这种联网loading的功能时,继承刚刚说的这个有AlertDialog的Activity,这样新建的Activity就具有这种显示loading和隐藏loading的功能了可能你还需要改善一下,有可能同一个Activity会同时触发两次联网请求,所以会出现两次显示AlertDialog的情况,还可能会出现其中一个联网操作结束了隐藏了AlertDialog,但还有另一个联网操作没完成loading界面就早早消失了。对于这种情况我是引入一个计数的成员变量,提交一次联网操作+1,完成一次-1,判断这个计数来决定AlertDialog显示还是隐藏还有一个就是根据你的HTTP实现的方法,需要封装好,比如执行HTTPPost(activity,url,...) activity会自动执行响应的显示和隐藏AlertDialog的操作,这里需要写Interface,然后implements 相应的方法。。突然发现三两句话很难说清楚,设计模式的东西还得靠你自己多去琢磨啊
      

  3.   


    非常感谢你的回答,现在呢,我们项目的需求也是这么做的,但是,如果是dialog的话,那么加载失败时你就无法在UI上给予更好的重试功能了,除非你能再弹出一个重试的dialog,那样子似乎不太好。
    现在我所做的就是使用dialog的功能。
    可是之后我发现网易新闻的做法在操作上更为友好。
    哈哈,其实我就是想知道怎么实现网易新闻上的,实现不难,但是扩展性应该很高。
      

  4.   


    非常感谢你的回答,现在呢,我们项目的需求也是这么做的,但是,如果是dialog的话,那么加载失败时你就无法在UI上给予更好的重试功能了,除非你能再弹出一个重试的dialog,那样子似乎不太好。
    现在我所做的就是使用dialog的功能。
    可是之后我发现网易新闻的做法在操作上更为友好。
    哈哈,其实我就是想知道怎么实现网易新闻上的,实现不难,但是扩展性应该很高。网易做的的确不错,反正就是加个View上去而已,正真纠结的是怎么做到高内聚低耦合,代码能重复利用