两个相同活动的布局

时间:2012-10-17 12:25:39

标签: android android-layout

我的活动中有以下代码:

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语句的情况下,布局未设置为home,并且intent直接启动。为什么会发生这种情况?如何防止这种情况发生?

3 个答案:

答案 0 :(得分: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();

它可以帮到你。

感谢。

答案 1 :(得分:0)

设置任意时间或线程等待一段时间进行下一个活动。当执行else语句然后布局设置但很少时间。因此,您无法显示它。

由于

答案 2 :(得分:0)

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