我的問題是如何在兩個活動之間傳遞像String這樣的數據。通常我會這樣做:如何在活動之間傳遞數據
Intent i = new Intent(thisclass.this,NextClass.class);
Bundle b = new Bundle();
i.putExtras(b);
b.putString("Name",Name);
StartActivity(i);
但是,這將使我的活動關閉,並將打開下一個活動,不是?有什麼方法可以在不打開其他活動的情況下傳遞數據?
我的問題是如何在兩個活動之間傳遞像String這樣的數據。通常我會這樣做:如何在活動之間傳遞數據
Intent i = new Intent(thisclass.this,NextClass.class);
Bundle b = new Bundle();
i.putExtras(b);
b.putString("Name",Name);
StartActivity(i);
但是,這將使我的活動關閉,並將打開下一個活動,不是?有什麼方法可以在不打開其他活動的情況下傳遞數據?
我認爲你正在尋找的東西與SharedPreference看到的文檔:SharedPreference
如果它是什麼都在尋找。
試試這個:
全球:
private SharedPreferences pref;
的onCreate:
pref = this.getSharedPreferences("SharedPreference", Context.MODE_PRIVATE);
在那裏你會保存數據的地方:
而其他活動:
全球:
private SharedPreferences pref;
的onCreate:
pref = this.getSharedPreferences("SharedPreference", Context.MODE_PRIVATE);
,你會帶你的數據的地方:
String dataFromFristActivity = pref.getString("myData", null);
我實際上需要一些東西來將數據發送到其他類,而現在關閉它。 – yair 2013-04-10 16:27:38
@yair如果您的活動暫停(關閉),您無法發送任何內容。您可以做的唯一事情就是讓活動在恢復時獲取該數據。按照其他人的建議,查看Activity和SharedPreferences的onResume()方法。 – BigBen3216 2013-04-10 16:34:50
使用SharedPreference,您將保存數據,並且可以在任何地方使用它,像SharedPreference一樣使用小型數據庫 – 2013-04-10 16:39:38
您的致電活動未關閉,但已暫停。 我在@Egor上。被叫活動尚不存在。除非你試圖在兩個不同應用程序的活動之間發送數據。這是一個完全不同的蠕蟲罐。
爲什麼你需要類似的東西?你的應用程序只有一個活動活動 – fedepaol 2013-04-10 16:16:47
將數據傳遞給目前還不存在的活動有什麼意義? – Egor 2013-04-10 16:17:37
有辦法做到這一點?它有點難以解釋... – yair 2013-04-10 16:18:29