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スプラッシュに設定されます。ただし、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

Any Time または Thread を設定して、次のアクティビティに進むまでしばらく待ちます。else ステートメントが実行されると、レイアウトが設定されますが、しばらくの間です。このため、表示できません。

ありがとう

于 2012-10-17T12:31:14.840 に答える
0

あなたは何を尋ねようとしているのか知っていますか?? コンテンツビューをまっすぐに設定した後、別のアクティビティを開始しているため、新しい(開始された)アクティビティレイアウトが表示されます...何が問題なのですか?

于 2012-10-17T12:46:32.860 に答える