2017-01-01 59 views
0

我有活動#1:我搬到#Activity 2的Android回去與以前的包/演員之前的活動

活動1:

Intent PostLogin = new Intent(getApplicationContext(), activity2.class); 
     PostLogin.putExtra("email",emailOfUser); 
     PostLogin.putExtra("token", authToken); 
     PostLogin.putExtra("url", url); 
     startActivity(PostLogin); 

活動#2:

ONCREATE ACTIVITY 2: 


Intent loginActivity = getIntent(); 
     token = loginActivity.getStringExtra("token"); 
     email = loginActivity.getStringExtra("email"); 
     url = loginActivity.getStringExtra("url"); 


MOVING TO ACTIVITY 3 

Intent createOrJoin = new Intent(getApplicationContext(), activity3.class); 
      createOrJoin.putExtra("token", token); 
      createOrJoin.putExtra("url",url); 
      // createOrJoin.putExtra("token",); 
      startActivity(createOrJoin); 

活動3重新開始活動2

Intent backtoPost = new Intent(getApplicationContext(), activity2.class); 
         startActivity(backtoPost); 
         finish(); 

所以我最初在活動2的信息,我從活動1.獲得再從活動二,我去活動3,在經過一些東西,我來回到到活動2.

哪有我仍然有token, email, url的值?

回答

0

有多種方法可以做到這一點。

  1. 一個簡單的方法是,你可以讓他們在一個變量。

    public class YourActivity extends Activity { 
    
        String email; 
    
        public void onCreate(Bundle savedInstanceState) { 
         super.onCreate(); 
         // Set content view etc 
         email = getIntent().getStringExtra("email"); 
        } 
    } 
    
  2. 另一個更好的辦法是保存那些你需要的時候onSaveInstancestate被稱爲變量,然後在onCreateonRestoreInstance恢復它們。請查看以下問題以獲得詳細信息:onSaveInstanceState() and onRestoreInstanceState()When are onSaveInstanceState() and onRestoreInstanceState() called, exactly?瞭解如何使用它們。