2016.5.6

本周总结

  • dp和sp,px一般用于xml资源文件,如果想在java代码里使用的话,要注意的地方是setText()方法里填的是sp,你想放一个dp的数的话要先经过dp2px,在经过 px2sp方法转化才行

  • Application类里保存全局变量有一个坏处就是,当应用长期在后台运行而被系统回收时,或者是在应用因为bug而崩溃时,application实例会重新生成,因此全局变量会全部丢失,所以在app运行时,全局变量保存在shap或者文件或者数据库里,然在application类的初始化onCreate方法里要做好recovery。

  • 另外一个需要提醒的地方就是,当只是简单的退出app(没有使用小米,华为的清理应用后台内存的情况下,也即service在后台运行的情况下),application实例不会重新生成,但是application引用的全局变量或者application类里放置的静态变量依旧会被回收,所以在WelcomeActivity(启动页)里要做好判断,一旦检测application内的全局变量丢失,则recovery一下再进入主页面。

  • butterknife目前只能绑定activity,fragment,adapter对应的layout布局内的控件,不能绑定listview里后来添加的headview

  • 永远不要尝试在Recyclerview外套用一个scrollview,你会发现recycleview的onscroll回调监听会被scrollview拦截,看如下代码

     recyclerView.setOnScrollListener(
     new RecyclerView.OnScrollListener()
              {
                  @Override//在外面套着一个ScrollView的情况下,该方法将不会被回调
                  public void onScrolled(RecyclerView recyclerView, int dx, int dy)
                  {
                      super.onScrolled(recyclerView, dx, dy);
                  }
              }
      )
    

意味着你无法顺利的使用下拉加载,当然上拉刷新的话使用SwipeRefreshLayout就好

  • recyclerview很适合显示多种布局,因此加一个headerview也非常方便,只要在adapter里补充一下加了headerview的逻辑部分即可

你可能感兴趣的:(2016.5.6)