2015-08-25 17 views
0

我是AndroidStudio的新手,無法找到更改視圖而無需用戶執行操作的方法。更具體地說,我試圖讓我的應用程序在打開時顯示標題屏幕,然後在幾秒鐘後切換到主界面。我發現這個代碼用來改變當前視圖欣賞到DisplayMessageActivity類在android教程:Android在一段時間後更改視圖

Intent intent = new Intent(this, DisplayMessageActivity.class); 
startActivity(intent); 

我想在我的我的標題畫面活動的onCreate方法使用此代碼這樣:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.title_screen); 
    try { 
     Thread.sleep(5000); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    Intent intent = new Intent(this, DisplayMessageActivity.class); 
    startActivity(intent); 
} 

然後我在新的Activity中設置了第二個視圖。我還試圖只使用在onCreate方法兩個單獨的觀點:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.title_screen); 
    try { 
     Thread.sleep(5000); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
    setContentView(R.layout.main_menu); 
} 

然而,在這兩種情況下,它只顯示第二圖。我哪裏錯了?

回答

0

您在活動都使用相同的佈局,解決這個問題(R.layout .....)

避免了Thread.sleep因爲它會阻止應用程序本身。 你必須在調用第二個活動時引入延遲。請參閱 https://www.youtube.com/watch?v=LCLO7q2uhOs

你下面的代碼應該放在與時間的處理程序塊耽誤你想要

Intent intent = new Intent(this, DisplayMessageActivity.class); 
    startActivity(intent); 
+0

看,這兩個的onCreate方法都來自同一個活動(但兩種選擇,他做來證明這一點)。 –

0

這裏:Intent intent = new Intent(this, DisplayMessageActivity.class);

的問題那就是你發送你Intent在這兩種情況下(DisplayMessageActivity.class)同一類。您必須在您的onCreate方法中更改要發送Intent的類(第二個視圖)。

Intent intent = new Intent(this, **The class in which you are going to show your second view**); 

我期待它對您有用!