程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> dialog-在固定時間後關閉對話框

dialog-在固定時間後關閉對話框

編輯:編程綜合問答
在固定時間後關閉對話框

應用中包含一個對話框。

我想要在x秒後自動關閉這個對話框。前提是如果這段時間用戶對應用沒有任何操作。

類似彈出的音量拖動條(兩秒鐘用戶沒有操作就自動關閉)。

不知道怎麼實現?請高手指點,謝謝。

最佳回答:


// a dialog
final Dialog dialog = new Dialog(getApplicationContext());

// the code inside run() will be executed if .postDelayed() reaches its delay time
final Runnable runnable = new Runnable() {

    @Override
    public void run() {
        dialog.dismiss(); // hide dialog
    }
};

Button interaction = (Button) findViewById(R.id.bottom);

final Handler h = new Handler();

        // pressing the button is an "interaction" for example
interaction.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {


        h.removeCallbacks(runnable); // cancel the running action (the hiding process)
        h.postDelayed(runnable, 5000); // start a new hiding process that will trigger after 5 seconds
    }
});

追蹤用戶動作

@Override
public void onUserInteraction(){
    h.removeCallbacks(runnable); // cancel the running action (the hiding process)
    h.postDelayed(runnable, 5000); // start a new hiding process that will trigger after 5 seconds
}
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved