所有活动的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 开始计时任何帮助请
答
你如何开始后续活动?我想用startActivity()或startActivivtForResult(),如果是这种情况,你冷静地打发时间的意图。 但这不是一个好的解决方案,因为在这个过程中你会“失去时间”,因为活动凝视第二个不准确。 为什么不创建一个计时器活动,该进程在流程结束时开始,并在结束时结束?
答
在我看来,使用片段而不是活动,因为如果你使用片段,它可以在屏幕上显示包含计时器和剩余内容的两个片段。
如果您使用活动,则无法在从一次屏幕移至其他屏幕时显示准确的计时器值。
你可以传递任何原始值使用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