Android:Splash Screen不断加载无所谓我做什么

时间:2011-02-08 11:03:29

标签: java android android-activity splash-screen

让我们试着让它易于理解。

对于一个例子,我得到了“Page1”和“Page2”以及“Page3”。 好。我在“Page2”上创建了一个启动画面,因此用户可以在特定时间(5秒)看到“Page2”。它自动将他引导到“Page3”,我还在“Page2”上添加了两个按钮,这样用户就可以更快地点击“Page1”的“Button1”。或“Button2”转到“第1页” 好吧,我做的都是正确的。 但是如果“Page2”打开并且用户没有触及任何内容,则会将他带到“Page3”..我的问题是用户可以触摸任何“Button1”或“Button2”它指示他“Page3”,如果他接触到“Button2”并转到“Page1”(在“Page2”上的启动画面的时间限制启动后,它会自动将他从“Page1”指向“Page3”

请帮助。

我的代码

import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.content.Intent;
import android.view.View.OnClickListener;
import android.widget.Button;



public class StartGame extends Activity {

    // ===========================================================
    // Fields
    // ===========================================================

    private final int SPLASH_DISPLAY_LENGHT = 3000;

    // ===========================================================
    // "Constructors"
    // ===========================================================

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle icicle) {
        super.onCreate(icicle);
        setContentView(R.layout.startgame);

        /* New Handler to start the Menu-Activity 
         * and close this Splash-Screen after some seconds.*/
        new Handler().postDelayed(new Runnable(){
            @Override
            public void run() {
                /* Create an Intent that will start the Menu-Activity. */
                Intent mainIntent = new Intent(StartGame.this,Fail.class);
                StartGame.this.startActivity(mainIntent);
                StartGame.this.finish();
            }
        }, SPLASH_DISPLAY_LENGHT);

请帮助,谢谢。 瓦希德

编辑:

抱歉,我是初学者,我真的不知道如何创建变量, 如果您能与我分享您的一些知识并向我展示源代码,请。

如果变量意味着按钮,那已经在那里,但我没有

1 个答案:

答案 0 :(得分:3)

如果您的活动2已被点击按钮停止,则需要取消postDelayed通话。

首先,您需要从runnable和处理程序创建变量。

然后按下任一按钮,您就可以打电话:

myHandler.removeCallbacks(myRunnable);

如果不再这样做,将阻止它触发。

编辑以适应OP的初学者资料:

    myRunnable = new Runnable(){
        @Override
        public void run() {
            /* Create an Intent that will start the Menu-Activity. */
            Intent mainIntent = new Intent(StartGame.this,Fail.class);
            StartGame.this.startActivity(mainIntent);
            StartGame.this.finish();
        }
    }

    myHandler = new Handler();
    myHandler.postDelayed(myRunnable, SPLASH_DISPLAY_LENGHT);