2011-11-02 38 views
0

我有一個新問題。我正在構建一個Android計時器。在主要活動中,您可以選擇計時器運行的時間。如果您選擇了一個值,則應該顯示計時器活動。我的問題很簡單:如何?我不知道計時器活動如何知道計時器應該運行多長時間。任何人都可以告訴我嗎?用動態值打開一個新活動

回答

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); 
} 
+0

謝謝!該答案有效。下面的答案也很好,但你是第一個。 –

2

在您的主要活動,你會希望你的計時器活動把一個額外的到你的意圖的消費:

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

然後在你的計時器的活動,你會得到意圖的演員,做你需要傳遞的價值是什麼:

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 
}