所有活动的Android countup定时器

问题描述:

我正在做一个应用程序包含大约20个活动,并且我想在活动1开始并开始计数最后一次活动时开始计数计时器。我找到了一种方法来创建一个子类并在1个活动中调用计时器但是我不知道如何将计时器的值从活动1传递到活动2和从2到3。这是我的代码所有活动的Android countup定时器

package com.mytimer; 

import java.lang.ref.WeakReference; 

import java.util.TimerTask; 
import android.os.Handler; 

import android.widget.TextView; 



public class IncrementTask extends TimerTask { 

    WeakReference<TextView> mRef; 
    int counter = 0; 
    Handler handler = new Handler(); 

    public IncrementTask(TextView text) { 
     mRef = new WeakReference<TextView>(text); 
    } 

    public void run() { 
     handler.post(new Runnable() { 
      public void run() { 
       mRef.get().setText("counter " + counter); 
       counter++; 
      } 
     }); 
    } 
} 

在我的活动1

TextView mTextView = (TextView)findViewById(R.id.text); 
     Timer timer = new Timer(); 
     IncrementTask task = new IncrementTask(mTextView); 
     timer.scheduleAtFixedRate(task, 0, 1000); 

     Button btn = (Button)findViewById(R.id.button1); 
     btn.setOnClickListener(new OnClickListener(){ 
      @Override 
      public void onClick(View v) { 
       Intent i = new Intent (MainActivity.this, Page2.class); 
       startActivity(i); 

      }  
     }); 

我想知道如何定时器的值传递到下一个活动不是从0 开始计时任何帮助请

+0

你可以传递任何原始值使用intent.putExtra(...)n对象像http://*.com/questions/2736389/how-to-pass-object-from-one-activity-to-another -in-android n也我认为你应该考虑定时器类作为单身人士... – Braj 2013-02-18 06:38:15

你如何开始后续活动?我想用startActivity()或startActivivtForResult(),如果是这种情况,你冷静地打发时间的意图。 但这不是一个好的解决方案,因为在这个过程中你会“失去时间”,因为活动凝视第二个不准确。 为什么不创建一个计时器活动,该进程在流程结束时开始,并在结束时结束?

在我看来,使用片段而不是活动,因为如果你使用片段,它可以在屏幕上显示包含计时器和剩余内容的两个片段。

如果您使用活动,则无法在从一次屏幕移至其他屏幕时显示准确的计时器值。