1

可能重复:
如何在 Android 中的活动之间传递数据?

我的应用程序启动并加载第一个屏幕,然后用户通过单击按钮切换到下一个屏幕:

    Intent intent = new Intent(DashboardActivity.this, LoginActivity.class);
            startActivity(intent);

然后从那里,用户再次切换到下一个屏幕:

    Intent intent = new Intent(LoginActivity.this, NextActivity.class);
            startActivity(intent);

现在堆栈上应该有 3 个屏幕,在最后一个屏幕中,我想一直回到第一个屏幕,如何单击一下?我想将 putExtra("") 数据从最后一个屏幕发送到第一个屏幕。

4

5 回答 5

2

你可以这样做

Intent intent = new Intent(NextActivity.this, DashboardActivity.class);
// This will remove all activities which are on the top of DashboardActivity
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.putExtra("<Your data will be here>");
startActivity(intent);

希望对你有帮助

于 2012-05-16T12:19:41.930 回答
2

添加这个

在 NextActivity 中,

Intent myIntent = new Intent(NextActivity.this, DashBoardActivity.class);
 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
  myIntent.putExtra("UserName",UserName);
   startActivity(myIntent);

在仪表板活动中,

Intent intent = getIntent();
UserName=intent.getStringExtra("UserName");
于 2012-05-16T12:33:51.927 回答
1

它非常简单,你必须再次创建一个指向第一个活动的 Intent 并在那里获取你的数据:

于 2012-05-16T12:20:41.463 回答
1
 Intent intent = new Intent(LoginActivity.this, DashboardActivity.class);
 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
 intent.putExtra("string",strValue);
 startActivity(intent);
于 2012-05-16T12:21:04.013 回答
1
Intent intent = new Intent(NextActivity.this, LoginActivity.class);
 intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
   startActivity(intent );

这将从活动堆栈中清除当前活动顶部的所有活动。

于 2012-05-16T13:38:06.323 回答