Android:更改屏幕

时间:2012-05-16 12:15:06

标签: android android-activity

  

可能重复:
  How do I pass data between activities in Android?

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

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

然后从那里开始,用户再次使用:

切换到下一个屏幕
    Intent intent = new Intent(LoginActivity.this, NextActivity.class);
            startActivity(intent);

现在堆栈上应该有3个屏幕,在最后一个屏幕上,我想一直回到第一个屏幕,如何只需点击一下就能做到这一点? 我想将最后一个屏幕的putExtra(“”)数据发送到第一个屏幕。

5 个答案:

答案 0 :(得分: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);

希望这会对你有所帮助

答案 1 :(得分:2)

添加此

在NextActivity中,

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

在DashBoardActivity中,

Intent intent = getIntent();
UserName=intent.getStringExtra("UserName");

答案 2 :(得分:1)

非常简单,你必须制作一个指向第一个活动并在那里获取数据的Intent:

答案 3 :(得分:1)

 Intent intent = new Intent(LoginActivity.this, DashboardActivity.class);
 intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
 intent.putExtra("string",strValue);
 startActivity(intent);

答案 4 :(得分:1)

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

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