2014-06-27 72 views
-2

我有很多活動和MainActivity,並有兩個按鈕(B1-B2)。在B1(活性1)將用戶寫同樣的數據和完成後回到MainActivity 和B2(活性2)將得到(活性1)如何將活動中的任何數據發送到其他活動?

(活性1)

Intent i = new Intent(getApplicationContext(), Activity2.class); 
    i.putExtra("new_variable_name","value"); 

(活性2)所有的日期

Bundle extras = getIntent().getExtras(); 
if (extras != null) { 
    String value = extras.getString("new_variable_name"); 


} 

此代碼不適用於我!! ....任何解決!

+0

http://stackoverflow.com/questions/4967740/transfer-data-from-one-activity-to -otherother-activity-using-intents http://stackoverflow.com/questions/18146614/how-to-send-string-from-one-activity-to-another –

回答

0

從SO帖子:

Intent i =new Intent(Info.this, GraphDiag.class).putExtra("new_variable_name", "value"); 
startActivity(i); 

獲取數據

String value = getIntent().getStringExtra(<StringName>); 

Also look here

0

你的代碼是正確的我猜的背景下getApplicationContext()引起的問題。在活動範圍內,最好使用MyActivity.this作爲上下文參數。試試這個:

Intent i =new Intent(Activity1.this, Acivity2.class); 
i.putExtra("new_variable_name", "value"); 
startActivity(i); 

爲了獲得額外的價值,並執行空校驗:

Bundle b = getIntent().getExtras(); 
if(b!=null){ 
String value = b.getString("new_variable_name");//ensured that the string is not null 
} 
+0

但如何知道它是空的或不是? – BuGsHaN

+0

它與這個laine startActivity(i)一起工作;我不需要startActivity ...如果用戶返回MainActivity之後,轉到Acivity2並將獲得ListView或Toast中的所有數據? – BuGsHaN

+0

@ user3784315檢查我編輯的答案 –

相關問題