使用动态值打开新活动

时间:2011-11-02 16:11:09

标签: android android-activity

我有一个新问题。我正在构建一个Android计时器。在主活动中,您可以选择计时器的运行时间。如果您选择了值,则应显示计时器活动。我的问题很简单:如何?我不知道计时器活动如何知道计时器应该运行多长时间。有人能告诉我吗?

2 个答案:

答案 0 :(得分:3)

在用于启动新活动的意图中,添加一个额外值,表示应设置Timer的时间。假设您已经打算开始这个名为timeIntent的计时器活动,并且您希望为其设置计时器的时间是一个名为amountOfTime的变量,您可以执行以下操作:

timerIntent.putExtra("time amount", amountOfTime);
startActivity(timerIntent);

在计时器活动中,您可以通过调用getIntent()getExtra()来获得此金额,如下所示:

Intent myIntent = getIntent();
int timeAmount = 0;
if(myIntent!= null && myIntent.hasExtra("time amount"){
  timeAmount = myIntent.getIntExtra("time amount", 0);
}

答案 1 :(得分:2)

在您的主要活动中,您需要额外投入计划活动消费的意图:

Intent i = new Intent(this, TimerActivity.class);
i.putExtra("timer_length", 3000);
startActivity(i);

然后在你的计时器活动中,你将获得Intent的额外内容并使用传入的值做你需要的事情:

public void onCreate(Bundle b) {
    super.onCreate(b);
    setContentView(R.layout.timer_layout);

    long length = getIntent().getLongExtra("timer_length", -1);
    if (length == -1) 
        //do failure
    else
        //do what you need with the timer length value
}