最简单的Android自定义ListView下拉刷新与上拉加载,美团Android开发工程师岗位职能要求

一.那么这些年,996 风靡互联网,到底是什么原因?总结了几条:

1、通过 996 高强度加班,逼迫员工主动辞职,企业想通过这个方法节省裁员所需要的补偿费。

不知道从什么时候起,互联网公司在年底或者年初都开始通过全员加班方式来逼迫员工辞职,据我了解,狗东、某米、某赞等公司部分事业部都有这样的现象,这些市值几十上百亿美金的公司还用如此下三滥的方式逼迫员工辞职,别说基本的社会责任没有尽到,就是连对员工基本的尊重都没有做到,再次表示强烈谴责类似公司的做法。

2、翻倍薪资挖人后,通过 996 形式来剥削员工的时间,达到平衡成本又更容易挖人的目的。

这个是某头条为代表的新兴独家兽公司最普遍的做法,通常都是通过双倍薪资到传统大厂挖人,然后通过 996 方式平衡挖人成本。很多小伙伴暗地也计算过:跳槽之后,表面上薪资是涨了,但是一算时薪,发现并没有高多少。

3、无能管理层,跟风 996 ,这可能是 996 最搞笑又可悲的一个原因了。

很多中小公司创始人或者超级公司的部分部门,看到公司其他部门或者竞争对手公司在大搞 996 加班,然后这些无头脑的管理层拍脑袋就决定来个 996,而这可能是最搞笑的 996 原因了,我猜这些在大公司的某些部门很常见。

4、赶项目封闭开发,这类加班情况比 996 还要严重。

很多公司做紧急的战略性项目,为赶时间经常会搞高强度的封闭开发,这时候基本就是一个月无休甚至半年无休,不少朋友吐槽所谓“封闭式开发”,就是无良加班的雅称而已。

二.如何应对互联网行业病态 996 ?

都说在中国没有不加班的程序员,那么如果遇到长期病态加班的公司怎么办呢?尤其是上面 1、2、3的情况。

1、匿名吐槽公司加班现象、或者通过媒体爆料;

不少公司都还是非常重视自身的形象,而加班严重的公司往往招不到更加优秀的人才。

2、辞职换工作

对于长时间病态加班的工作,不辞职留着猝死?虽说现在很多公司都会有加班现象,尽量找一个少加班的吧!

3、多转发这类反对病态加班的文章,套用一句鸡汤“我们终将改变潮水的方向“。

三.想对资本家和无能管理层说几句。

1、我们不是抱怨加班,我们是抱怨病态的996,如果项目紧张,我们也是可以偶尔免薪加班赶进度的。

2、让员工加班不是管理层面对竞争的减压器,你们不能因为自己的无能而让员工疲于加班。

3、长时间加班让我们效率更低下,这反而失去了加班的意义。

4、《劳动合同法》第31条规定:用人单位应当严格执行劳动定额标准,不得强迫或者变相强迫劳动者加班。

我们可以通过合法的手段维护自己的利益,本来人生就是两个字“生活”即生下来活下去,生活不易,柴米油盐酱醋茶,善待自己

很多朋友觉得自己年轻,加加班没啥大问题,一颗熊熊的奋斗心当然是非常好的,但是很多人真的忽略了生活本来的样子。

除了工作和加班,我们应该花点时间
优化下工作方法,高效率会让我们工作起来更轻松。

除了工作和加班,我们应该花点时间
去追个妹子,偶尔制造些生活小浪漫。

除了工作和加班,我们应该花点时间
去健身房,一身腱子肉更能扛住越来越重的生活工作压力。

除了工作和加班,我们应该花点时间
出门走走,爬爬山,看看雪体验体验人生

人生慢慢长,代码和远方也很配

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

【附】相关架构及资料

资料领取

点击这里免费获取Android IOC架构设计等资料

取**

点击这里免费获取Android IOC架构设计等资料

领取获取往期Android高级架构资料、源码、笔记、视频。高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter全方面的Android进阶实践技术,群内还有技术大牛一起讨论交流解决问题。

  • 16
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现上拉刷新、下加载ListView,可以使用第三方库,如 Google 推荐的 SwipeRefreshLayout,或者自己实现。 下面是自己实现的一种方法: 1. 在布局文件中加入 ListView 和 ProgressBar: ``` <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent" /> <ProgressBar android:id="@+id/progressBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:visibility="gone" /> </RelativeLayout> ``` 2. 在 Activity 或 Fragment 中初始化 ListView 和适配器: ``` listView = findViewById(R.id.listView); listView.setAdapter(adapter); ``` 3. 给 ListView 设置滚动监听器,当滚动到底部时,执行加载更多的操作: ``` listView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) { if (view.getLastVisiblePosition() == view.getCount() - 1) { // 滚动到底部,执行加载更多操作 loadMoreData(); } } } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { } }); ``` 4. 在加载更多的操作中,显示 ProgressBar,加载数据后更新适配器,隐藏 ProgressBar: ``` private void loadMoreData() { progressBar.setVisibility(View.VISIBLE); // 加载数据 // 更新适配器 progressBar.setVisibility(View.GONE); } ``` 5. 实现下拉刷新,可以使用 SwipeRefreshLayout,在布局文件中加入 SwipeRefreshLayout 和 ListView: ``` <android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipeRefreshLayout" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/listView" android:layout_width="match_parent" android:layout_height="match_parent" /> </android.support.v4.widget.SwipeRefreshLayout> ``` 6. 在 Activity 或 Fragment 中初始化 SwipeRefreshLayout 和 ListView,并给 SwipeRefreshLayout 设置刷新监听器: ``` swipeRefreshLayout = findViewById(R.id.swipeRefreshLayout); swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { // 下拉刷新,重新加载数据 refreshData(); } }); ``` 7. 在刷新数据的操作中,显示 ProgressBar,加载数据后更新适配器,隐藏 ProgressBar 和 SwipeRefreshLayout: ``` private void refreshData() { progressBar.setVisibility(View.VISIBLE); // 加载数据 // 更新适配器 progressBar.setVisibility(View.GONE); swipeRefreshLayout.setRefreshing(false); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值