好吧,我讓自己成爲一個小項目,有點模擬你有什麼。我將在下面的代碼中省略進口。另外,閱讀所有的代碼和評論,我沒有寫他們讓你跳過它們。我們稱之爲類飛濺,登錄,page1,page2和page3。在你的splash類中,在onCreate()方法之前,讓我們舉幾個例子。
package com.test.jeets;
public class splash extends Activity {
//Add all of these right here!
public static boolean loggedin = false;
public static int sdk = new Integer(Build.VERSION.SDK).intValue();
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.splash);
//This is your splash screen, all the code goes here!
}
}
現在,這就是你的閃屏!完成!對於登錄屏幕,我們要確保它不能回到啓動屏幕,而是在按下後退時退出應用程序。這很容易!我們只需重寫後退按鈕並使用moveTaskToBack(true)
。
package com.test.jeets;
public class login extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
//This is the login page stuff. Nothing special needs done here.
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (splash.sdk < 5 && keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
onBackPressed();
}
return super.onKeyDown(keyCode, event);
}
//This will make the back button exit the app to the home screen.
@Override
public void onBackPressed() {
moveTaskToBack(true);
return;
}
//If the user leaves the app from the login screen while not logged in, they are returned to the splash screen.
@Override
public void onRestart() {
super.onRestart();
if(splash.loggedin == false){
Intent i = new Intent(login.this, splash.class);
startActivity(i);}
}
}
現在,完成了!讓我們去你的第一頁(你去你登錄後的頁面),並在onCreate()
方法中添加一行
splash.loggedin = true;
你可能要考慮讓用戶回到此頁面的日誌出來以及。沒有必要,但肯定可以。
您需要做的最後一件事是在用戶使用註銷按鈕註銷時將該變量設置爲false。因此,在按鈕的代碼中,在再次啓動登錄活動的調用之前,只需添加splash.loggedin = false;
即可。現在,當按鈕被點擊時,它會將用戶登出,將變量設置爲false,並將它們帶到登錄屏幕。就像我說過的,我測試了這個簡單的佈局和活動之間的真正的基本切換,它對我來說工作得很好。
來源
2011-07-05 17:44:59
Rob
但是在我的情況下,當我按下登錄活動上的按鈕時,我會進行初始活動,然後我能夠退出應用程序,但是當我再次啓動應用程序時,我沒有看到啓動活動,我從登錄活動開始。因此我想在再次啓動應用程序時看到啓動畫面。請幫助我,如果你能給我另一個建議。 – Jitendra
在最後添加一點,應該有所幫助。 – Rob
我不確定如何使用它。請幫助我,我正面臨着這個問題。 – Jitendra