2015-05-09 83 views
0

如標題所示,方案是: 第一次使用應用程序時,顯示屏幕A. 一旦你完成屏幕A,按鈕將導致你屏幕B. 從現在起,永遠,屏幕B將始終是主要的「屏幕」(活動?),當你啓動應用程序。 我想這2天,我無法得到它。 有人請詳細解釋一下,或者更好的拋給我一個code.rar所以我可以研究它。我要瘋了!運行活動只有一次,然後總是運行主要一個

回答

0

剛剛宣佈的活動爲您在AndroidManifest.xml中和的活動爲您的onCreate()內的發射活動,你可以簡單地做這

private SharedPreferences mSharedPreferences; 
private Editor mEditor; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_a); 

    mSharedPreferences = getSharedPreferences("yourPrefsFileName", Context.MODE_PRIVATE)); 
    mEditor = mSharedPreferences.edit(); 

    if (mSharedPreferences.getBoolean("isfirstTime", true)) { 
     mEditor.putBoolean("isFirstTime",false); 
     mEditor.apply(); 
    }else{ 
     startActivity(new Intent(this, ActivityB.class)); 
     overridePendingTransition(0, 0); 
     finish(); 
     } 
} 
+0

謝謝你的工作!!!!!!!!!!!! Btw編輯editor.putBoolean和editor.apply到mEditor,所以有這個問題的人不會變得更加困惑。謝啦!!! – Miki7

0

所有你必須檢查這樣

SharedPreferences prefs = getSharedPreferences("mySHaredpref", Context.MODE_PRIVATE); 
    SharedPreferences.Editor editor = prefs.edit(); 
    boolean isFirst = prefs.getBoolean("isfirstTime", true); 
    if(isFirst) { 
     Intent intent = new Intent(this, ActivtyA.class); 
     editor.putBoolean(KEY_IS_FIRST_TIME, false); 
     editor.commit(); 
     startActivity(intent); 
    } 
    else{ 
     Intent intent = new Intent(this, MainActivty.class); 
     startActivity(intent); 
    } 
+0

什麼把其他條件? – Miki7

+0

你的B活動 –

+0

類似這樣[鏈接](http://pastebin.com/AchFZ2k3) – Miki7

0
public class FirstActivity extends Activity { 

    public void onCreate(Bundle saved){ 
     super.onCreate(); 

     SharedPreferences prefs = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE); 

    if (!prefs.getBoolean("firstStart", true)){ 
      startActivity(this, SecondActivity.class); 
      finish(); // Finish the current one, is like forwarding directly to the second one 
     } 

    } 
} 

每當你與顯示的第一個活動組簡單的共享首選項布爾標誌爲假做:

prefs.getEditor.setBoolean("firstStart", false).commit(); 
0
SharedPreferences sp = getSharedPreferences("checking",MODE_PRIVATE); 

String data = sp.getString("check", ""); 

if (data.equals("success")) { 

//one time proccess code 

//with follow code 

SharedPreferences sp= getSharedPreferences("checking",MODE_PRIVATE); 

Editor e1 = sp.edit(); 

e1.putString("check","success"); 

e1.commit(); 


} else { 

// code for main 

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

}