国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

項目總結之防止連續點擊打開兩個重復頁面的技巧

2019-11-09 15:48:42
字體:
來源:轉載
供稿:網友

概述:

    最近正在對公司的項目進行一些總結,將遇到的問題以及如何解決的記錄下來,以便于下次遇到這樣的問題還在冥思苦想上次是怎么解決的?這樣能節約很多時間。

主題:

    我們在開發APP的時候難免會遇到在某些低端機和很卡的機器上面出現多次點擊某個按鈕或者頁面,這樣導致等手機響應后會彈出好幾個界面,最近發現Android端的微信的搜索頁面是沒有做處理的,連續點擊兩次搜索,會彈出兩次搜索頁面,除此之外,其他很多應用絕大多數App是沒有做處理的。

解決方案:

1、  通過判斷兩次點擊的時間間隔來防止重復點擊

public class ISDoubleClickUtils {    PRivate static long lastClickTime;    private final static int SPACE_TIME = 500;    public static void initLastClickTime() {        lastClickTime = 0;    }    public synchronized static boolean isDoubleClick() {        long currentTime = System.currentTimeMillis();        boolean isClick2;        if (currentTime - lastClickTime >                SPACE_TIME) {            isClick2 = false;        } else {            isClick2 = true;        }        lastClickTime = currentTime;        return isClick2;    }}private View.OnClickListener logListener = new View.OnClickListener() {        @Override        public void onClick(View view) {            if (!ISDoubleClickUtils.isDoubleClick()) {                事件響應方法            }        }};

2、通過修改manifest中頁面的launchMode屬性改為單例模式
<activity            android:name=".MainActivity"            android:launchMode="singleTask"            android:screenOrientation="portrait" />

singleTask啟動模式是當前棧中是否有該實例,如果有并且位于棧頂則使用該實例,如果有但是不位于棧頂,則將該實例上面的所有實例刪除以達到棧頂。所以可以保證任務棧中只有這一個實例。

3、利用RxBinding實現防重復點擊

RxView.clickEvents(button)    .throttleFirst(500, TimeUnit.MILLISECONDS)    .subscribe(clickAction); RxBinding 是 Jake Wharton 的一個開源庫,它提供了一套在 Android 平臺上的基于 Rxjava 的 Binding API。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 水城县| 敖汉旗| 格尔木市| 西乌珠穆沁旗| 铁岭市| 平度市| 上蔡县| 玉溪市| 安陆市| 新津县| 五台县| 乐山市| 富源县| 内乡县| 桦南县| 绵阳市| 左贡县| 梓潼县| 华安县| 韶山市| 拜城县| 临武县| 通河县| 大余县| 靖江市| 尼玛县| 辽阳市| 罗定市| 荔波县| 苏州市| 洛扎县| 崇信县| 板桥市| 陵水| 吉木乃县| 中阳县| 潼南县| 徐水县| 如东县| 洪湖市| 泾源县|