1
A
回答
8
我建議不要等待UI線程。
您可以爲您的任務使用Handler
。 run
方法將在Handler
創建的同一線程中執行:
//delay in ms
int DELAY = 1000;
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
Intent intent = new Intent(CurrentActivity.this, NextActivity.class);
startActivity(intent);
}
}, DELAY);
-1
用戶界面在這段延遲期間是否需要做任何事情?如果沒有,你可以使用:
Thread.sleep(timeToWaitInMilliseconds);
你的處理程序的按鈕。這會在幾秒內停止UI線程,但是,您的UI將在延遲期間「凍結」。
稍微好一點的選擇是使用一個AsyncTask和一個處理程序,它是一個新線程,並讓該線程在你想要延遲新的活動打開的時間內睡眠,然後在處理程序中打開新的活動。
asynctask對於你的情況我覺得好一點,因爲它允許用戶在你的「延遲」期間與UI進行交互。在AsyncTasks
此處瞭解詳情:
http://developer.android.com/reference/android/os/AsyncTask.html
+0
我剛剛嘗試了您的建議。點擊按鈕後,我要求它查看佈局。要求它延遲5000毫秒,然後轉到新的活動。 由於某些原因,它延遲了5秒,閃爍佈局一秒鐘,然後去新的活動。 – user1274830 2012-03-31 22:05:42
相關問題
- 1. 初始屏幕等待幾秒鐘
- 2. 幾秒鐘後圖像交換
- 3. 如何在屏幕上顯示圖片,幾秒鐘後刪除iteself?
- 4. iOS主線程凍結了幾秒鐘
- 5. Android應用切換「屏幕」
- 6. android屏幕切換按鈕
- 7. Android:暫停線程幾秒
- 8. 幾秒鐘後顯示警告視圖
- 9. 幾秒鐘後形成的Javascript圖像
- 10. 幾秒鐘後更改ImageView
- 11. 幾秒鐘後停止requestAnimationFrame
- 12. 幾秒鐘後隱藏div
- 13. 幾秒鐘後應用程序崩潰
- 14. 幾秒鐘後應用程序崩潰
- 15. 如何在幾秒鐘後結束線程
- 16. 顯示圖像幾秒鐘
- 17. Android新意圖新屏幕
- 18. android意圖新屏幕
- 19. android解鎖屏幕意圖?
- 20. 啓動期間黑屏幾秒鐘
- 21. 幾秒鐘後Android視圖分頁器自動更改頁面
- 22. Android。幾秒鐘後應用程序將中斷。工作
- 23. Libgdx切換屏幕
- 24. OpenCV程序在執行幾秒鐘後死機
- 25. Groovy進口需要幾秒鐘
- 26. 使用Mono Android進行線程旋轉屏幕?
- 27. ACM1602B-FL-YBW在幾秒鐘後關閉
- 28. 幾秒鐘後重新啓用按鈕
- 29. 幾秒鐘後視頻播放消失
- 30. 幾秒鐘後出現的UINavigationItem
我做了類似的事情,但是我希望它「在延遲後做某事」它不喜歡我嘗試調用類時 意圖newClass = new Intent(this,ClassName.class); this.startActivity(newClass); – user1274830 2012-03-31 21:56:39
不要調用this.startActivity(..)。省略「this」,只是調用startActivity(..) – thaussma 2012-03-31 22:06:26
Elipse不喜歡這行代碼 - Intent class = new Intent(this,Failed.class); - 它是想讓我做到 - Intent class = new Intent(); - 但後來它不知道要拍攝什麼類。非常令人沮喪。 – user1274830 2012-03-31 22:10:59