屏蔽多次点击事件
/**
* 测试快速点击事件
*/
fastButton.setOnClickListener(new OnClickFastListener() {
/**
* 自定义实现的抽象方法,不在重写onClick方法,该方法用于执行点击后的逻辑
*/
@Override
public void onFastClick(View v) {
Toast.makeText(mContext, "测试网络...", Toast.LENGTH_LONG).show();
}
});
屏蔽网络情况
/**
* 测试网络状况
*/
networkButton.setOnClickListener(new OnClickNetworkListener() {
/**
* 自定义实现的抽象方法,主要用于执行有网络之后的逻辑
*/
@Override
public void onNetworkClick(View v) {
Toast.makeText(mContext, "当前设备有网络,执行后续操作...", Toast.LENGTH_LONG).show();
}
/**
* 自定义实现的抽象方法,主要用于执行当前设备没有网络之后的逻辑
*/
@Override
public void onNoNetworkClick(View v) {
Toast.makeText(mContext, "网络错误...", Toast.LENGTH_LONG).show();
}
});
按钮点击监听网络状况
/**
* 判断当前设备是否有网络的监听类源码
*/
public abstract class OnClickNetworkListener extends BaseClickListener {
@Override
public void onClick(View v) {
boolean isNetworkOk = isNetworkConnected(v.getContext());
if (isNetworkOk) {
onNetworkClick(v);
} else {
onNoNetworkClick(v);
}
}
// 点击事件--有网络
public abstract void onNetworkClick(View v);
// 点击事件--没有网络
public abstract void onNoNetworkClick(View v);
/**
* 网络连接是否正常
*
* @param context
* @return
*/
public static boolean isNetworkConnected(Context context) {
if (context != null) {
ConnectivityManager mConnectivityManager = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo mNetworkInfo = mConnectivityManager.getActiveNetworkInfo();
if (mNetworkInfo != null) {
return mNetworkInfo.isAvailable();
}
}
return false;
}
}
实现图:
总结:主要是学习一下更多的代码都需要自己去学