android - 从runnable内部设置intent extra

时间:2015-11-15 00:18:40

标签: java android android-intent

我还是Android开发的新手。我已经解决了这个问题已经有一段时间了,但仍然无法弄清楚自己要做什么。在一个Activity中,我设置了一系列包含CountDownTimers的Runnables。一个在下一个之后执行,但是根据哪个CountDownTimer是活动的,我需要将不同的Intent.extra传递给一个片段。我已尝试从Runnable内部,Run内部以及CountDownTimer onTick和onFinish内部设置我的额外内容。

我担心我的原始活动中有太多的东西要发布它,但问题本质上就是问题。

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中的列表中删除项目,但在我这样做之后,我需要将列表中的下一个元素作为额外元素发送。

我希望这是足够的代码来解决我的问题。为了简单起见,我试图从原始代码中更改一些内容。如果有我遗失的东西或更好的方法,请任何人让我知道。

1 个答案:

答案 0 :(得分:0)

在您的Activity中将Bundle定义为全局变量,而不是在Method实现中。