我的问题是如何在两个活动之间传递像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