타이머에 문제가 있습니다. 그 후 핸들러에서 시작 버튼 값을 누르면 카운트 다운 대신 -22406914 : 0-51이 표시됩니다. 아래 코드는 (나는이 도움을 스스로 도왔다 : http://android-developers.blogspot.com/2007/11/stitch-in-time.html). 나는 당신이 currentTimeMillis
(startTime = System.currentTimeMillis();
)를 사용하여 startTime
을 설정에는 내가 실수를 생각 ...타이머 카운트 다운이 잘못되었습니다
public class biegi extends Activity {
TextView Todleglosc, Tpredkosc, Tczas;
ImageView Ibiegacz;
Button clear, startstop;
LocationManager locationManager;
Location lokacjaPoczatkowa;
String providerName;
boolean start;
private long startTime;
private Handler mHandler = new Handler();
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.biegi);
inicjuj();
actionbuttonsc();
} // oncreate
private Runnable mUpdateTimeTask = new Runnable() {
public void run() {
final long start = startTime;
long millis = SystemClock.uptimeMillis() - start;
int seconds = (int) (millis/1000);
int minutes = seconds/60;
seconds = seconds % 60;
if (seconds < 10) {
Tczas.setText("" + minutes + ":0" + seconds);
} else {
Tczas.setText("" + minutes + ":" + seconds);
}
mHandler.postAtTime(this,start + (((minutes * 60) + seconds + 1) * 1000));
}
};
public void inicjuj(){
Todleglosc=(TextView) findViewById(R.id.odleglosc);
Tpredkosc=(TextView) findViewById(R.id.predkosc);
Tczas=(TextView) findViewById(R.id.czas);
Ibiegacz=(ImageView) findViewById(R.drawable.biegacz);
clear=(Button) findViewById(R.id.clear);
startstop=(Button) findViewById(R.id.button_bieg_start_stop);
start=false;
}
public void actionbuttonsc()
{
clear.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v) {
Tczas.setText("00:00:00");
}
});
startstop.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (start==false)
{
Tczas.setText("00:00:01");
startTime = System.currentTimeMillis();
mHandler.removeCallbacks(mUpdateTimeTask);
mHandler.postDelayed(mUpdateTimeTask, 100);
start=true;
}
else if (start==true)
{
Tczas.setText("00:00:00");
mHandler.removeCallbacks(mUpdateTimeTask);
start=false;
}}});
}
}
당신은 당신의 시작 변수를 출력하고 그래서 정확히 무슨 일이 일어나고 있는지 이야기하는 것이 더 쉽습니다 무엇 말씀해? – Michael