Android app 防止用户短时间内多次点击

日常开发中,app必须处理好用户连续点击的问题,因为短时间内的多次重复点击,不管是网络请求或者提交数据,都会重复,网络请求中虽然也可以设置过滤重复的提交,但当你点击一个按钮打开一个Activity,你就会打开多个了,设置Activity的启动模式是没有用处的。如果你还记得android的事件分发机制,你就发现出来很简单了。

1 android事件分发 借用网络上的一张图,可以发现事件分发是有个U型走势,无论什么事件,都是从Activity的dispatchTouchEvent()分发的,需要注意事件分发的返回值,false也会被消费的

/*
    * 防止短时间内多处点击
    * */
    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        if (ev.getAction() == MotionEvent.ACTION_DOWN){
            if (isClick()){
                return super.dispatchTouchEvent(ev);
            }else {
                return true;
            }
        }

        return super.dispatchTouchEvent(ev);
    }

/**
     * 点击1秒内不能连续点击
     */
    public boolean isClick() {
        if ((System.currentTimeMillis() - exitTime) > EXITTIME) {
            exitTime = System.currentTimeMillis();
            return true;
        } else {
            return false;
        }
    }

总结:在你项目的BaseActivity中,重写dispatchTouchEvent,如果为down事件,就判断当前点击时间和上次点击的时间,我设置的是500ms,重点是如果点击事件是可以分发的,需要返回super

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
### 回答1: C知道:Uni-app移动开发市场上相当受欢迎,由于它具有跨平台、高效开发等特性,越来越多的开发者选择使用 Uni-app 开发移动应用程序。此外,Uni-app 也积极推动生态建设,为开发者提供更多的插件和模板。总体而言,Uni-app 在市场上的前景非常广阔。 ### 回答2: 目前来看,uni-app在市场上的表现相当不错。 首先,uni-app是一款跨平台开发工具,可以实现一次编写,多端运行。这种特性大大提高了开发效率,减少了开发成本,因此备受开发者的青睐。许多企业和开发团队选择使用uni-app来开发应用程序,无论是小型企业还是大型企业都越来越多地采用这种技术。 其次,uni-app在移动应用开发领域引起了广泛的关注。由于可以同时支持多个平台(包括iOS、Android和微信小程序等),开发者可以在更短的时间内开发出功能丰富、性能出色的应用程序。这不仅对于开发者而言是一种福音,也为用户提供了更好的使用体验。 此外,uni-app还拥有强大的社区和生态系统。开发者可以在社区中交流经验、分享代码、解决问题,获得许多有用的资源和工具。而uni-app的生态系统也在不断壮大,越来越多的插件和扩展功能可供选择,为开发者提供了更多的可能性。 总的来说,目前uni-app在市场上非常有竞争力,并且受到了广泛的认可和喜爱。随着移动应用开发的进一步普及,我相信uni-app在市场上的地位将会进一步提升。 ### 回答3: 目前,uni-app在市场上的表现非常出色。作为一款基于Vue.js开发的跨平台应用开发框架,uni-app具备了一些独特的优势,使得它受到了广大开发者的欢迎。 首先,uni-app具备了强大的跨平台能力。通过uni-app,开发者只需要编写一套代码,就能够同时在多个平台上运行,包括iOS、Android、Web等。这大大减少了开发者的工作量,提高了开发效率。 其次,uni-app提供了丰富的组件和插件生态系统。在uni-app的生态系统中,有很多优秀的插件和组件库可供开发者使用,包括各种UI组件、网络请求工具、地图插件等等。这些组件和插件可以帮助开发者快速构建功能丰富、界面漂亮的应用。 再次,uni-app具备了良好的性能表现。通过uni-app开发的应用,在性能方面与原生应用相差无几。这也使得uni-app成为了许多企业和开发者的首选,不仅能够满足用户对性能的高要求,还能够节省开发成本。 最后,uni-app在社区和文档支持方面也做得非常出色。在uni-app的开发者社区中,开发者可以及时获取到最新的开发资讯、解决问题的方法和技巧等。此外,uni-app的官方文档也非常详尽,能够帮助开发者快速上手和深入理解框架。 总的来说,uni-app作为一款跨平台应用开发框架,在市场上得到了广泛认可和应用。它具备跨平台能力、丰富的生态系统、良好的性能表现以及社区和文档的支持,能够帮助开发者轻松构建高效、稳定、功能丰富的应用。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

plx_csdn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值