0

我的活动中有以下代码:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    if (!isPreviouslyLoggedIn()) {
        setContentView(R.layout.splash);

        final TextView revolution=(TextView) findViewById(R.id.textView1);
        final Button login=(Button) findViewById(R.id.loginButton);
        final Button signUp=(Button) findViewById(R.id.signUpButton);

        login.setOnClickListener(loginListener);
        signUp.setOnClickListener(signUpListener);

    }

    else {
        setContentView(R.layout.home);
        Intent intent = new Intent(getApplicationContext(), PickUpActivity.class);
        startActivity(intent);
    }

}

执行if语句时,layout设置为 splash。但是,在else执行语句的情况下,布局未设置homeintent直接启动。为什么会发生这种情况,我该如何防止这种情况发生?

4

3 回答 3

1

试试这个方法。。

protected boolean active = true;
    protected int time = 5000;

        Thread thread = new Thread() {
            @Override
            public void run() {
                try {
                    int waited = 0;
                    while (active && (waited < time)) {
                        sleep(100);
                        if (active) {
                            waited += 100;
                        }
                    }
                } catch (InterruptedException e) {

                } finally {
                    finish();
                    Intent Go_Activity = new Intent(Screen.this, otherActivity.class);
                    startActivity(Go_Activity);
                    stop();
                }
            }
        };
        thread.start();

它可以帮助你。

谢谢。

于 2012-10-18T04:46:00.003 回答
0

设置任何时间或线程以等待一段时间以进行下一个活动。当执行 else 语句时,布局设置但时间很少。出于这个原因,您无法展示它。

谢谢

于 2012-10-17T12:31:14.840 回答
0

你知道你想问什么吗??直接设置内容视图后,您正在启动另一个活动,因此它将显示新的(开始的)活动布局......那有什么问题?

于 2012-10-17T12:46:32.860 回答