我是作web開發的,最近在學習android。java
週末的時候想寫個延遲進入主界面的功能,主要用到Handler和Runnable,代碼以下:android
package com.zx.app; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.view.View; import android.widget.Button; public class StartScreenActivity extends Activity { private final int SPLASH_DISPLAY_LENGHT = 3000; // 3秒啓動界面延遲 private Button btn; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.splash); btn = (Button) this.findViewById(R.id.enter); //建立一個線程 final Runnable myRun = new Runnable() { @Override public void run() { // TODO Auto-generated method stub Intent intent = new Intent(StartScreenActivity.this, MainActivity.class); startActivity(intent); finish(); } }; final Handler handler = new Handler(); //使用handler對象來定時啓動線程運行 handler.postDelayed(myRun, SPLASH_DISPLAY_LENGHT); //直接點擊跳過 延遲加載進入主界面 btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub //移除handler延遲加載裏面的線程,就不會存在執行兩次的狀況 handler.removeCallbacks(myRun); Intent intent = new Intent(StartScreenActivity.this, MainActivity.class); startActivity(intent); finish(); } }); } }在寫這個代碼的時候遇到進入主界面後在跳回延遲加載頁面的問題,而後來oschina來需求幫助,發佈問題以後就不少前輩來不吝回答,感謝他們。