2009-12-20 93 views

回答

4

让我们叫暂停的活动“A”和“当前”活动“B”。

将B与A通信结果的方式是让A拨打startActivityForResult()而不是startActivity(),并让B使用setResult()提供返回值。 A然后在onActivityResult()接收这些返回值。

3

在你当前活动,创建一个意图

Intent i = new Intent(getApplicationContext(), PausedActivity.class); 
i.putExtra(key, value); 
startActivity(i); 

然后在暂停活动,检索这些值。

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

如果数据是复杂的,尽量http://developer.android.com/guide/appendix/faq/framework.html#3

+0

感谢您的回复。 我认为这段代码将用于创建PausedActivity的新意图。我在完成当前活动时使用它并创建新活动。 它不会将数据传递给暂停的活动。 我的代码是稍有不同: 意向意图=新意图(); intent.setClass(CurrentActivity.this,NewActivity.class); intent.putExtra(“key”,“value”); startActivity(intent); this.finish(); 我想从当前的活动到没有新的意图暂停活动(之前的活动)direcly传递值。 谢谢。 – AndroiDBeginner 2009-12-20 08:51:49

+0

我相信commonsware.com的答案是解决这个问题的最好方法。您的替代方案是将结果存储在数据库中,当暂停的活动恢复时,您将检索这些结果。 – yanokwa 2009-12-20 16:25:50

相关问题