android 3秒鐘自動關閉介面(以支付成功為例)
功能如標題所示,看圖說話,程式碼簡單,註釋清晰,一目瞭然:
3秒過後進入下一介面:
PaySuccessActivity.java
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.ImageView; import android.widget.TextView;AfterPayActivity.java/** * 支付成功頁面 *http://download.csdn.net/user/qq_29614465 */ public class PaySuccessActivity extends Activity { private ImageView im_back; private TextView tv_title; private TextView tv_paysuccess_time;//開始是3秒 private ImageView im_paysuccess;//對號 private Button b; private Boolean abc=false;@Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.paysuccess); im_back= (ImageView) findViewById(R.id.im_back);tv_title= (TextView) findViewById(R.id.tv_title); tv_title.setText("支付成功"); tv_paysuccess_time=(TextView) findViewById(R.id.paysuccess_time); im_paysuccess= (ImageView) findViewById(R.id.paysuccess_im); im_paysuccess.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //點選成功後跳轉到當前訂單的介面 Intent intent = new Intent(PaySuccessActivity.this, AfterPayActivity.class); startActivity(intent); finish(); abc=true; } }); CountDownTextViewHelper helper_pay=new CountDownTextViewHelper(tv_paysuccess_time, "0", 3, 1); helper_pay.setOnFinishListener(new CountDownTextViewHelper.OnFinishListener() { @Override public void finish() { // TODO Auto-generated method stub if (abc==false) { Intent intent2 = new Intent(PaySuccessActivity.this, AfterPayActivity.class); startActivity(intent2);} } });helper_pay.start();} }
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; /** * 3秒關閉後進入的介面 *http://download.csdn.net/user/qq_29614465 */ public class AfterPayActivity extends Activity { private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.after_pay); btn=(Button) findViewById(R.id.button_close); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub finish(); } }); } }CountDownTextViewHelper.java
import android.graphics.Color; import android.os.CountDownTimer; import android.util.Log; import android.widget.TextView;/** * 倒計時TextView幫助類 * http://download.csdn.net/user/qq_29614465 */ public class CountDownTextViewHelper { // 倒計時 private CountDownTimer countDownTimer; // 倒計時結束的回撥介面 private OnFinishListener listener;private TextView textView;/** * * @param textView * 需要顯示倒計時的TextView * @param defaultString * 預設顯示的字串 * @param max * 需要進行倒計時的最大值,單位是秒 * @param interval * 倒計時的間隔,單位是秒 */ public CountDownTextViewHelper(final TextView textView, final String defaultString, int max, int interval) { this.textView = textView; // 由於CountDownTimer並不是準確計時,在onTick方法呼叫的時候,time會有1-10ms左右的誤差,這會導致最後一秒不會呼叫onTick() // 因此,設定間隔的時候,預設減去了10ms,從而減去誤差。 // 經過以上的微調,最後一秒的顯示時間會由於10ms延遲的積累,導致顯示時間比1s長max*10ms的時間,其他時間的顯示正常,總時間正常 countDownTimer = new CountDownTimer(max * 1000, interval * 1000 - 10) { @Override public void onTick(long time) { // 第一次呼叫會有1-10ms的誤差,因此需要+15ms,防止第一個數不顯示,第二個數顯示2s textView.setText(((time + 15) / 1000) + ""); textView.setTextColor(Color.BLACK); Log.d("CountDownTextViewHelper", "time = " + (time) + " text = " + ((time + 15) / 1000)); } @Override public void onFinish() { textView.setEnabled(true); textView.setText(defaultString); if (listener != null) { listener.finish(); } } }; } /** * 開始 倒計時 */ public void start() { textView.setEnabled(false); countDownTimer.start(); } /** * 設定倒計時結束的監聽器 * @param listener */ public void setOnFinishListener(OnFinishListener listener) { this.listener = listener; } /** * 倒計時結束的回撥介面 */ public interface OnFinishListener { public void finish(); } }
到這裡就是全部的關鍵程式碼了,佈局檔案當然由你自己處理了,如果想
相關推薦
android 3秒鐘自動關閉介面(以支付成功為例)
功能如標題所示,看圖說話,程式碼簡單,註釋清晰,一目瞭然: 3秒過後進入下一介面: PaySuccessActivity.java import android.app.Activity; import android
QT QDialog 對話方塊顯示幾秒鐘自動關閉
在實際開發中,我們會有這樣一種需求,一個提示框,使用者可以手動關閉,或者在使用者沒有操作的情況下,顯示3秒鐘然後自動關閉,這樣應該怎樣做呢?我們的思路應該是這樣的:1.對話方塊建構函式裡,設定一個定時器
1、利用介面實現動態的建立物件[選做題] 1.1 建立4個類: 蘋果 香蕉 葡萄 園丁 1.2 在三種水果的構造方法中列印一句話. 以蘋果類為例
package javademo9; import java.util.Scanner; interface Fruit{ } class Apple implements Fruit { public Apple() { System.out.println("建立了一個蘋
Android HAL hardware module分析 以GPS module為例
準備在S5PV210的android系統中實現GPS功能,程式已經寫好了,也可以編譯出gps.s5pc110.so的庫,但是不知道上層怎麼呼叫這個庫,在GPS相關的Android.mk中也沒有找到,很是納悶。通過分析hardware module才知道是怎麼回事,之前並沒有詳細的瞭解hardware modu
Android 6.0許可權管理以及動態申請,以定位許可權為例
前言: 我們都知道現在手機系統已經到了很高的版本,在我們的Android6.0以後很多許可權都被列入危險許可權,都需要使用者手動去確認 1.我們先來看一下6.0以後被列為危險級別的一些許可權
android jni 包裹檔案(jni wrapper) 以 speex 庫為例
參考資料: 1 http://code.google.com/p/android-recorder/downloads/list 這個是一個android recorder ,使用speex編碼,程式碼很乾淨,推薦一讀 2 http://andrewbrobinson.c
藍芽(BLE)應用框架介面設計和應用開發——以TI CC2541為例
本文從功能需求的角度分析一般藍芽BLE單晶片的應用框架(SDK Framework)的介面設計過程,並以TI CC2541為例說明BLE的應用開發方法。一、應用框架(Framework)我們熟知的Fra
實習點滴(3)--以“詞性標註”為例理解CRF演算法
看了CRF相關的東西好幾天了,現在也過來總結總結。我本人喜歡以講故事的方式闡述一些東西,純理論總是很抽象,而且很容易讓人失去耐心。那就以“詞性標註”為切入點,去理解一下CRF(Conditional Random Field)條件隨機場的演算法原理(難免有不
Android情景分析之詳解init程序(以啟動zygote為例)
概述 init是linux系統中使用者空間的第一個程序。由於Android是基於linux核心的,所以init也是Android系統中使用者空間的第一個程序,它的程序號為1。 作為系統中的第一個使用者空間程序,init程序被賦予了很多及其重要的工作職責。 1. i
uboot中 make xxx_config 的作用(以make smdk2410_config為例)
mdk nbsp xxx cpu clu samsung uboot 作用 頭文件 1、創建到目標板相關文件的鏈接 ln -s asm-arm asm ln -s arch-s3c24x0 asm-arm/arch ln -s proc-armv asm-arm/pr
基於TI Davinci架構的多核/雙核開發高速掃盲(以OMAP L138為例),dm8168多核開發參考以及達芬奇系列資料user guide整理
uwa 全部 dap setting pos eclips develop serial ger 基於TI Davinci架構的雙核嵌入式應用處理器OMAPL138開發入門 原文轉自http://blog.csdn.net/wangpengqi/article/de
解決jenkins下使用HTML Publisher插件後查看html報告顯示不正常 以jmeter報告為例
com 顯示不全 rip lis support https ima 註意 jenkins jenkins 配置使用html publisher查看jmeter html報告時,發現顯示不全,很多東西顯示不了。 項目配置: 查看html報告異常(很多資源無法加載)
更新CentOS Mysql到官方較新版本[以6.5為例]
生成 inux 依次 font fig 目前 http line spa 需求來源: CentOS: 6.9 x64 自帶mysql版本較舊,需要卸載後安裝到5.6版本. 1.查看目前mysql 版本 2.如果發現有系統自帶mysql,而且比想要裝的5.6舊。果斷
大堆文字不如幾張圖片-論信息傳遞的方式以NodeMCU入門為例
3-9 信息 nbsp mcu 入門 logs 文字 src 圖片 大堆文字不如幾張圖片-論信息傳遞的方式以NodeMCU入門為例
LINUX下PHP編譯添加相應的動態擴展模塊so(不需要重新編譯PHP,以openssl.so為例)
down get 階段 很多 習慣 lin 模塊 臨時 操作 本文轉自:原文鏈接 http://www.cnblogs.com/doseoer/p/4367536.html 網上我看到有很多相關的文章都是簡述這個問題的,但畢竟因為LINUX版本眾多,很多LIUNX命令或路
C#語言中數組與集合的區別(以List集合為例)
類型 添加元素 list 添加 一個 保存 操作方法 適用於 length 數組用於保存固定數量的數據,定長,占用內存少,遍歷速度快; 集合保存的數據數量,可以在程序的執行過程中,不斷發生變化,不定長,占用內存多,遍歷速度慢; 在功能上,數組能實現的所有功能,集合都能實現;
虛擬機訪問互聯網的方法 -- 以RedHat系為例
路徑 網絡連接 p地址 註意 ipad etc 不能訪問外網 正常 情況下 在虛擬機的三種網絡模式中(Host-Only、橋接、NAT),能夠實現虛擬機訪問互聯網的只有橋接與NAT模式,而Host-only主能實現虛擬機與主機兩者間的通信。 下面以RedHat系虛擬機系
微信識別圖片功能實現(以讀取銀行卡為例)
支付 ref gb2312 sta mil img 身份證識別 manager his 一,需求講解 如圖所示,掃描圖片的時候,實現銀行卡號和銀行名稱自動回填。 二,代碼 2.1,html頁面 1 <input type="file
配置Nginx反向代理WebSocket,以代理NoVNC為例
websocket nginx novnc linux 什麽是Nginx?Nginx (engine x) 是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器。Nginx是一款輕量級的Web 服務器/反向代理服務器及電子郵件(IMAP/POP3)代理服務器,並在
以 BZOJ 2002 為例學習有根樹LCT(Link-Cut Tree)
接下來 int 操作 sel com char 如何實現 etc 慢慢 以BZOJ 2002 彈飛綿羊為例學習有根樹LCT(Link-Cut Tree) 註:本文非常簡單,只涉及有根樹LCT,對於無根樹,LCT還有幾個本文沒有提到的操作,以後慢慢更新 =v= 知識儲備