Android多次点击弹出页面,关于android连续点击出现多个Activity界面的解决方法

关于android连续点击出现多个Activity界面的解决方法

发布时间:2020-09-26 16:46:43

来源:脚本之家

阅读:93

作者:sapodilla

前言

开始始学习android,对android的启动模式没有什么了解,就使用了时间判断是否重复点击了两次按钮,启动另外的activity界面,这样的控制方法,有时候会失效,比如,两秒钟还未启动另外的activity,那么又可以重复点击。所以,就调整为android的启动模式来控制重复出现多个acitvity。

一、通过时间控制点击次数:

这种方式对应控制网络请求不错。

public class NoDoubleClickUtil {

private static long lastClickTime;

private final static int SPACE_TIME =2000;

public static void initLastClickTime() {

lastClickTime = 0;

}

public synchronized static boolean isDoubleClick() {

long currentTime = System.currentTimeMillis();

boolean isClickDouble;

if (currentTime - lastClickTime >

SPACE_TIME) {

isClickDouble = false;

} else {

isClickDouble = true;

}

lastClickTime = currentTime;

return isClickDouble;

}

}

二、通过launchMode启动模式控制出现多个activity的方式:

这种方式真正意义上杜绝了同时出现相同的多个activity。

android:launchMode="singleInstance&

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android 中,我们可以使用 `preLoad()` 方法来预加载下一个 `Activity` 页面。这个方法会在当前 `Activity` 中异步地加载下一个 `Activity` 页面的布局和资源,以提高用户体验。 以下是一个预加载下一个 `Activity` 页面的示例代码: ```java private void preLoadNextActivity() { Intent intent = new Intent(this, NextActivity.class); intent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); startActivity(intent); overridePendingTransition(0, 0); new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(5000); // 模拟加载时间 } catch (InterruptedException e) { e.printStackTrace(); } // 加载完成后,销毁预加载的 Activity finishActivity(NextActivity.class.hashCode()); } }).start(); } ``` 上面的代码中,我们首先创建了一个 `Intent` 对象,用来启动下一个 `Activity` 页面。然后,我们使用 `startActivity()` 方法启动这个 `Activity`,并设置了 `FLAG_ACTIVITY_NO_ANIMATION` 标志位,以避免动画效果。接着,我们使用 `overridePendingTransition()` 方法来去掉当前 `Activity` 的退场动画。这样做可以提高用户体验,使用户感觉当前 `Activity` 顺畅地过渡到了下一个 `Activity`。 接下来,我们在一个新线程中模拟加载时间,等待 5 秒钟。在等待时间结束后,我们使用 `finishActivity()` 方法销毁预加载的 `Activity`,以释放资源。 最后,我们可以在当前 `Activity` 中调用 `preLoadNextActivity()` 方法来预加载下一个 `Activity` 页面。这样,在用户点击跳转按钮时,下一个 `Activity` 页面就能够快速地加载出来,提高用户体验。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值