android自定义组件监听,监听网络,防止组件点击过快重复点击

1 组件监听事件,业务逻辑之前判断网络情况

public abstract class OnClickNetworkListener implements View.OnClickListener {

    @Override
    public void onClick(View v) {
        boolean isNetworkOk = Config.isNetworkConnected(Config.currentContext);

        if (isNetworkOk) {
            onNetworkClick(v);
        } else {
            Toast.makeText(Config.currentContext, SysConfig.NETWORK_FAIL, Toast.LENGTH_SHORT).show();
        }
    }

    public abstract void onNetworkClick(View v);
}

2 组件监听事件,业务逻辑之前判断是否点击过快重复点击

public abstract class OnClickFastListener implements View.OnClickListener{

    private static long lastClickTime;
    public static boolean isFastDoubleClick() {
        long time = System.currentTimeMillis();
        long timeD = time - lastClickTime;
        if ( 0 < timeD && timeD < 500) {
            return true;
        }
        lastClickTime = time;
        return false;
    }

    @Override
    public void onClick(View v) {
        if (OnClickFastListener.isFastDoubleClick()) {
            return;
        }

        onFastClick(v);
    }

    public abstract void onFastClick(View v);
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-08 09:59:30

android自定义组件监听,监听网络,防止组件点击过快重复点击的相关文章

Android开发之使用广播监听网络状态变化

我们经常需要判断网络状态的变化,如有无网络,所以需要监听网络状态的变化,比如网络断开,网络连接给予友好提示.如何监听网络状态的变化呢,最近工作中需要用到这个,于是就用广播机制来实现了网络状态的监听. 使用广播机制来监听网络状态主要涉及到以下几点: 1.需要自己编写个网络广播接收器,该接收器继承BroadcastReceiver类,用来接收系统发出的广播.比如我自己写了个NetStatusReceiver广播接收器.代码如下: package com.log.system; import andr

Android NDK开发(八)——应用监听自身卸载,弹出用户反馈调查

转载请注明出处:http://blog.csdn.net/allen315410/article/details/42521251 监听卸载情景和原理分析 1,情景分析 在上上篇博客中我写了一下NDK开发实践项目,使用开源的LAME库转码MP3,作为前面几篇基础博客的加深理解使用的,但是这样的项目用处不大,除了练练NDK功底.这篇博客,我将讲述一下一个各大应用中很常见的一个功能,同样也是基于JNI开发的Android应用小Demo,看完这个之后,不仅可以加深对NDK开发的理解,而且该Demo也可

使用听云监听手游网络和崩溃的日志

经朋友介绍认识了“听云”这款产品,一直苦于监测手游的崩溃日志.我们专门搭建的日志上报系统每天会收集大概4G左右的日志,信息量很大,并且有效信息很少,还需要筛选.抱着试试看的态度,使用了一下听云. 我司游戏iOS和Android都有,所以我同时接入了两个平台的探针. 在我满怀欣喜的看到可以设置"game"类型的App并且看到数据后傻眼了.我擦,Android平台只能看到Java层访问网络的情况.如下图,两个域名都是游戏发行商的SDK在Java层做的网络访问. 游戏里C++对服务器访问的数

Android开机和关机广播监听

Android开机.关机广播监听 一.开机广播的监听 1.在AndroidManifest.xml文件注册接收开机广播 <receiver android:name=".XXXBroadcastReceiver" > <intent-filter> <!-- 开机广播 --> <action android:name="android.intent.action.BOOT_COMPLETED" /> </inte

OC - 18.监听iPhone的网络状态

使用系统的方法来监听网络状态 系统的方法是通过通知机制来实现网络状态的监听 实现网络状态监听的步骤 定义Reachability类型的成员变量来保存网络的状态 @property (nonatomic, strong) Reachability *reachability; 注册为通知中心的的观察者 // 在通知中心注册观察者 [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getNetworkS

android的Home键的监听封装工具类(一)

android的Home键的监听封装: 1 package com.gzcivil.utils; 2 3 import android.content.BroadcastReceiver; 4 import android.content.Context; 5 import android.content.Intent; 6 import android.content.IntentFilter; 7 8 /** 9 * Home键监听封装 10 * 11 */ 12 public class

Android 通过系统使用NotificationListenerService 监听各种Notification的使用方法

NotificationListenerService是通过系统调起的服务,当有应用发起通知的时候,系统会将通知的动作和信息回调给NotificationListenerService. 在继承NotificationListenerService服务实现自己逻辑之前,需要在配置文件中添加如下代码,获取权限. <service android:name=".NotificationListener" android:label="@string/service_name

初识vue 2.0(13):子组件使用watch监听父组件变化

子组件使用created或者mounted通常只能在组件初始化的时候,获取父组件传过来的props数据. 父组件props数据发生变化,子组件默认无法感知,因此需要手动实现子组件监听父组件变化的功能. 一般的值类型数据,可以直接使用watch监听: watch: { msg(newVal, oldVal){//对引用类型的值无效 console.info('value changed ', newVal) } } 引用类型,普通watch方法,无法监听到引用类型内部的变化. 解决此问题,可以在父

react项目Bug:组件销毁清除监听(Can&#39;t perform a React state update on an unmounted component.)

最近一直在做react项目,发现一个bug,困扰了我两天. Can't perform a React state update on an unmounted component. This is a no-op, but it indicates a memory leak in your application. To fix, cancel all subscriptions and asynchronous tasks in the componentWillUnmount metho