2015-11-15 24 views
0

我還是新的android開發。我在這個問題上已經有一段時間了,但我仍然無法弄清楚自己該怎麼做。在一個Activity中,我設置了一系列包含CountDownTimers的Runnables。一個在下一個之後執行,但取決於哪個CountDownTimer是活動的,我需要將不同的Intent.extra傳遞給一個片段。我已經嘗試從Runnable內部,Run內部以及CountDownTimer onTick內部和onFinish中設置額外的內容。android - 從裏面運行設置意圖額外

我擔心自己原來的Activity中有太多的事情要發佈,但實際上這裏存在問題。

public class MatchUpActivity extends Activity implements OpponentFragment.OnFragmentInteractionListener{ 

List mTotalDrafts; 
Bundle mBundle; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_match_up); 

    mBundle = new Bundle(); 
    mDraftUsernames = extras.getStringArrayList("DRAFT_LIST"); 

     for (int i = 0; i < totalDrafts; i++) { 

      Handler delayhandler = new Handler(); 

      delayhandler.postDelayed(new Runnable() { 

          //bundle.put("extra", totalDrafts.get(0)) 

       public void run() { 

          //bundle.put("extra", totalDrafts.get(0)) 

        getTimer(); 

       } 

      }, mTodaysDraftTime + (i * singleDraftDuration) - Calendar.getInstance().getTimeInMillis()); 

     } 
    } 

CountDownTimer

private void getTimer() { 
    new CountDownTimer(singleDraftDuration, 1000) { 
     public void onTick(long millisUntilFinished) { 

          //bundle.put("extra", totalDrafts.get(0)) 

     } 
     public void onFinish() { 

          //bundle.put("extra", totalDrafts.get(0)) 

        list.remove(0) 
      } 

    }.start(); 
} 

}

我能夠從我onFinish列表中刪除項目,但之後,我這樣做,我需要到下一個元素列表的形式發送額外的。

我希望這是足以讓我的問題得到解決的代碼。爲了簡單起見,我嘗試從原始代碼中更改一些內容。如果有什麼我失蹤或更好的方式來做到這一點,請有人告訴我。

回答

0

在您的Activity中定義Bundle爲全局變量,而不是在Method實現中定義。

+0

感謝您的快速響應。我擔心我誤解了我的代碼問題。我確實在全球範圍內定義了Bundle。我改變了我的上面的代碼,以更密切地反映我的。但是,你確定知道這應該起作用嗎? Runnable在主UI線程上工作,對嗎? –