1. 程式人生 > >Android Studio 中 Toast重複點選不排隊

Android Studio 中 Toast重複點選不排隊

在使用Toast時,如果直接呼叫makeText函式,每次點選就會建立一個Toast物件,後面的Toast物件會在前面的Toast顯示完以後依次顯示。

所以會導致點選10次一直顯示幾十秒的情況,和我們平常使用的習慣不符。因此封裝一個ToastUtil類實現 每次點選都顯示最後一個。

public class ToastUtil {
    public static Toast mToast;
   
    public void showMsg(Context context,String Msg) {
        if (mToast == null) {

            mToast = Toast.makeText(context,msg,Toast.LENGTH_LONG);

        } else {

            mToast.setText(msg);
        }

        mToast.show();

    }

}

首先定義一個mToast,在第一次點選時mToast == null,因此makeText建立一個Toast物件然後用show()顯示,在第二次點選後只對mToast的文字顯示進行設定然後顯示。在這個過程中只在第一次點選建立了一個Toast物件,在後面的點選中,每點選一次重設一次mToast然後顯示,因此只會顯示最後一個。

在Activity中呼叫:

ToastUtil.showMsg(getApplicationContext(),"有個性的Toast");

這樣就可以實現多次點選不排隊,只顯示最後一個的功能。

相關推薦

Android Studio Toast重複排隊

在使用Toast時,如果直接呼叫makeText函式,每次點選就會建立一個Toast物件,後面的Toast物件會在前面的Toast顯示完以後依次顯示。 所以會導致點選10次一直顯示幾十秒的情況,和我們平常使用的習慣不符。因此封裝一個ToastUtil類實現 每次點選都顯

Android studio設定按鈕變色效果的方法

一、在drawable下新建一個xml 名字"test" 程式碼如下: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.androi

Android studio程式碼實現打電話+事件四種方式

?Android系統架構(重點) 第一層:應用層Application 第二層:應用框架層Application Framework 第三層:Android底層類庫層 Libraries、Dalvik虛擬機器 第四層:linux核心層 linux kernel Android是執行在

Android Studio ListView的item事件彈出AlertDialog,和item的滑動

首先看看效果圖: 點選彈出AlertDialog的確認框! (一)第一步,建立一個xml檔案顯示item的佈局 student_item.xml <?xml version="1.0" encoding="utf-8"?> <LinearLa

Android studio在用opencv時使用opencv manager

       週末一時興起打算用opencv開發一個在安卓平板上的跑的影象處理程式,前期寫程式碼都很順利,編譯成功後安裝,一執行就彈出讓安裝opencv manager,安裝後執行,竟然提示OpenCV was not initialised correctly. Appli

ui-route子路由切換重複重新載入問題

一個不得不說的專案之坑。先描述問題,用angular框架做的專案,路由用的ui-router。奇怪的是進入一個路由之後,再重複點選當前路由對應選單,這個路由對應的html、js並不會重新載入,連快取都不取,是壓根兒沒反應。angular也用了好久了,說實話這個問題一直沒遇到

Android 防止多次重複的三種方法

在專案中經常會遇到對按鈕、自定義控制元件的 Item 等防止多次重複的點選的問題,下面做一個小結。 方法1:使用 RxJava 的 throttleFirst() 具體程式碼如下: /** * 防止重複點選 * *

javascript防止重複、防止過快實用方法

防止重複點選可以新增一個開關,讓這個開關預設為true,第一次點選將其變為false,點選事件的執行需要判斷這個開關是否為true,為true執行,false不執行。例子如下:var isclick= true; function click(){     if(isclic

Android L水波紋效果的實現

博主參加了2014 CSDN部落格之星評選,幫我投一票吧。前言前段時間android L(android 5.0)出來了,介面上做了一些改動,主要是添加了若干動畫和一些新的控制元件,相信大家對view的點選效果-水波紋很有印象吧,點選一個view,然後一個水波紋就會從點選處擴

Android Studio (3.1.2)按鈕切換到另一個activity專案

       剛接觸APP開發,好不容易搭建好了環境,迫不及待的嘗試一些學習一些新的知識,發現開發語言和之前用過的都不一樣!初步嘗試了切換頁面功能,在網上搜到了很多資料,發現都有報錯的,網上能搜到AS相關開發學習也不多!想著可能AS版本不一樣吧(我用的是Android Stu

android 自定義Toast增加事件、Toast彈出隱藏動畫、Toast寬度為match_parent

在自定義Toast的時候,可能會用到點選事件,但是android系統本身Toast只是用於提示,並不支援點選事件,即使自定義Toast也不支援點選事件,檢視Toast原始碼可以發現,其內部的TN.class(該為私有類,外部調用不了)裡面的WindowManag

Android ListviewButton按鈕事件衝突解決辦法

 今天做專案時,ListView中含有了Button元件,心裡一早就知道肯定會有衝突,因為以前就遇到過,並解決過,可惜當時沒有記錄下來。 今天在做的時候,繼續被這個問題鬱悶了一把,後來解決後,趕緊來記錄下,以便日後參考。   首先,其實Listview中Button按

Android studio實現按鈕的事件

main.xml中的程式碼如下 <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.LinearLayoutCompat xmlns:android="http://sche

Android studio關於Spinner下拉列表的事件

首先在values下的string.xml檔案中新增下拉列表的內容: <string-array name="province1"> <item>河北</item> <item>北京<

AndroidRxJava使用6----防重複

操作符:throttleFirst 定期發射Observable發射的第一項資料 具體實現如下: 1、在build.gradle中新增依賴 compile 'com.jakewharton.rxbind

3、jq動畫執行過程重複(即執行完動畫後擊)

$(".btnoff").click(function(){ var offbtnStatus = false;//初始化狀態,給狀態false,不讓連續點選 if(offbtnStatus){//如果狀態為真,說明函式未執行完,return跳出 return;

關於Android studio使用匿名內部類實現按鍵浮現文字

在app的開發中,有時候我們需要點選一個按鍵,而後浮現一行文字,以下提供一種使用匿名內部類的較簡單的方案,並記錄了一些暫時無法解決的問題。 Button button=(Button)findViewById(R.id.button); button.setOnClick

Android防止Toast一直一直彈出

在使用工作中經常使用Toast,如果使用者連續點選很多下按鈕,可能Toast顯示一兩分鐘也不會消失,這就給我們的使用者造成了困擾。以下是解決辦法: private int num = 0;//連續點選的次數 private static Toast toa

android重複

android防重複點選 簡介 程式碼實現 簡介 此方法侵入性小,使用方便,程式碼量少,基於AspectJ實現 先看使用方式 @SingleClick(2000) @Override public void onC

android studiosetContentView時R.layout 找到已存在的佈局檔案

在res/layout 資料夾內已經寫好了佈局檔案:XXX_layout.xml,但是在activity裡寫setContentView(R.layout.……)的時候,不會提示XXX_layout,而且,自己手動填寫了XXX_layout,還會報錯,找不到該佈局檔案。查詢資料後,順利解決問題,隨手