开发

函数的写法跟其他语言基本大同小异,如下:

1
2
3
int func1(String str){
return int.parse(str);
}

在以上的函数func1中,声明了返回值为int类型的对象,函数参数为String,这是一种标准写法。

More...

前言

近期对Flutter有兴趣,但这个东西要用Dart来写应用,只能先入门一下这门语言。

目前把基础看了一部分,总体而言,Dart和目前比较火热的JavaScriptKotlin一样是一门脚本式语言,支持函数式编程,函数依然是第一公民,不过Dart对于对象的支持和定义更详细。另外,Dart运行在自己的Dart VM上,和其他的JVM语言不同,所以无论是使用Flutter或者是Dart,都需要先安装Dart VM

至于IDE,我用的Android Studio,安装上Dart插件即可。

More...

ViewPager搭配Fragment做懒加载,这个很常见。需要小心的是FragmentViewPager中的生命周期,这个不多说。

最近遇到一个坑,这个坑的关键点是

1
ViewPager.setOffscreenPageLimit();

假设通过这个方法设置了一个值(比如2),然后在ViewPager中滑动加载了2个Fragment后,第三个Fragment的加载会出现问题,具体表现是该调用的方法都有调用,但是就是数据加载出问题。

数据加载我是用了RxLifecycle绑定到FragmentEvent.DESTROY_VIEW,初步怀疑是生命周期在作祟。

目前的解决方法是先将setOffscreenPageLimit设置为和自己加入的Fragment数量一致。比较好的解决方法是自定义ViewPager实现懒加载。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×