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

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

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

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

概述:

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

主題:

    我們在開發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。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 额济纳旗| 武定县| 榆树市| 银川市| 泸水县| 大渡口区| 肥城市| 来安县| 搜索| 谢通门县| 桑植县| 潍坊市| 金堂县| 崇文区| 阳曲县| 芷江| 甘谷县| 襄城县| 宁德市| 黄梅县| 舒城县| 依兰县| 望都县| 天水市| 海晏县| 南陵县| 邢台市| 富源县| 乌拉特中旗| 浦县| 唐河县| 谢通门县| 东宁县| 诸暨市| 桂东县| 海兴县| 东明县| 虎林市| 泰安市| 县级市| 隆子县|