如何使用intent在android中启动相同的活动?

时间:2016-02-23 10:59:02

标签: android android-intent bundle

我正在使用意图将数据从A活动传递到B活动。在B活动中,我有文本视图" name"。当我从活动A前进到B意图工作正常。我还有一个活动C我希望在活动B中设置相同的文本视图,并将活动C中的数据传递给B

3 个答案:

答案 0 :(得分:1)

尝试在您的活动之间发送意图.. enter image description here

答案 1 :(得分:0)

您在活动B中声明了一个文本视图,并且您说您需要在活动C中使用相同的文本视图。您不能使用当前活动中另一个活动中声明的文本视图。声明一个新的文本视图并附加值。

答案 2 :(得分:0)

您可以使用" onNewIntent"活动B中的选项。

您可以使用startActivity(带有A数据的新意图)从A启动活动B.然后从活动B开始活动C并做任何事情。现在,在活动C上,您可以再次使用startActivity启动活动B(使用C数据的新意图)。这将触发" onNewIntent"活动B中的方法并从C传递意图数据,同时保持A的意图数据。

实施例: 活动A:

Intent intent = new Intent(this, B.class);
intent.putExtra("text", "data1");
startActivity(intent);

活动C:

Intent intent = new Intent(this, B.class);
intent.putExtra("text", "data2");
startActivity(intent);

活动B:

 public void onCreate(Bundle savedInstanceState) {
     super.onCreate(savedInstanceState);
     String textA = getIntent().getStringExtra("text");
 }

 @Override
 public void onNewIntent(Intent newIntent) {
    super.onNewIntent(newIntent);
    String textB = newIntent.getStringExtra("text");
 }