如何知道打开活动的意图

时间:2013-04-09 20:17:10

标签: android

你好我有两个活动去参加一项活动。当活动打开时,从两个活动中的任何一个显示一个数字

我需要知道数字的来源,以便我可以进行适当的计算,我想我需要一个if语句,但不知道如何启动它

Intent intent = new Intent(calculateA.this,
    WAmounts.class);
    intent.putExtra("Result",Total);
    startActivity(intent);


Intent intent = new Intent(CalcB.this,
    WAmounts.class);
    intent.putExtra("ResultB",Total);
        startActivity(intent);

第三次活动

 Intent sender = getIntent();
    int result = sender.getExtras().getInt("Result");
    answer.setText(result+"");


    int resultB = sender.getExtras().getInt("ResultB");
    answer.setText(resultB+"");

//If number came from first activity  

    a = Integer.parseInt (answer.getText().toString());
    total = (float) (a *x); 
    sd.setText(String.format("%.1f" ,total));



    b = Float.parseFloat (sand.getText().toString());
    total1 = (int)Math.ceil (b*f);
    c.setText(Integer.toString(total1));

  //If number came from second activity     

  a = Integer.parseInt (answer.getText().toString());
  total = (float) (a *x); 
  sd.setText(String.format("%.1f" ,total));



  b = Float.parseFloat (sand.getText().toString());
  total1 = (int)Math.ceil (b*f);
  c.setText(Integer.toString(total1));

2 个答案:

答案 0 :(得分:2)

只需传递一些“附加内容”,如下所示:How do I pass data between Activities in Android application?

intent.putExtra("yourLabel", "text1");

然后在新活动中使用

if (extras != null) {
    String value = extras.getString("yourLabel");
}

答案 1 :(得分:1)

因为你打电话给你的演员"结果"和"结果B"你可以使用sender.hasExtra(" result"),如果它返回false - 你知道哪个活动开始了这个意图。

请注意,代码中的bot发送者和发送者1具有相同的意图 - 启动此活动的意图。你不必两次得到它。