2012-10-17 79 views
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語句,則佈局未設置爲home,並且intent將直接啓動。爲什麼會發生這種情況,我該如何防止這種情況?

+0

你想要做什麼?代碼完全是你對他說的:)。設置家庭,但立即啓動PickUpActivity。你什麼時候開始這項活動? – Panos

+0

PickUpActivity setContentView?可能發生的事情是,家庭佈局設置,你開始一個新的活動,設置另一個佈局 –

+0

你想在else塊做什麼? –

回答

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(); 

它幫助你。

謝謝。

0

設置任何時間或線程等待一段時間去下一個活動。當其他語句執行時,佈局設置,但幾次。因爲這個原因你不能顯示它。

謝謝

+0

我試過使用處理程序,但應用程序崩潰 – Ankush

+0

http://stackoverflow.com/a/12947276/1160045 –

0

你知道你在問什麼?在直接設置內容視圖之後,您將開始另一個活動,以便顯示新(已啓動)的活動佈局......然後出現了什麼問題?

+0

事情是這樣的意圖需要一段時間才能開始活動,因此有幾秒鐘的黑屏。我想要一個佈局來顯示一個圖像(或者黑屏以外的任何東西)幾秒鐘。 – Ankush

+0

嘗試在不同的線程中啓動活動,然後希望您的問題將得到解決。 –

相關問題