2011-09-09 39 views
5

chronometer trong android làm thế nào để kiểm tra xem chronometer có đang chạy hay dừng không? nếu bắt đầu thì tôi muốn dừng nó và nếu không chạy thì hãy bắt đầu chronometer.Kiểm tra xem Chronometer có đang chạy

Trả lời

6

Bạn có thể kiểm tra điều này bằng variable.when boolean bạn bắt đầu chronometer bạn đặt biến boolean đúng và khi nó dừng bạn đặt biến boolean sai.

boolean isChronometerRunning = false; 
if (true) // condition on which you check whether it's start or stop 
{ 
    chronometer.start(); 
    isChronometerRunning = true; 
} 
else 
{ 
    chronometer.stop(); 
    isChronometerRunning = false; 
} 
2

lạ là nó không hiển thị thuộc tính đó. Tôi không thực sự thấy một cách lý tưởng để kiểm tra nó vượt ra ngoài theo dõi trên của riêng bạn.

Bạn chỉ có thể kéo dài the source code cho lớp đó, thực hiện nó trong dự án của bạn mình, và thêm một phương pháp như thế này:

public boolean getStarted() { 
    return mStarted; 
} 
5

Bạn có thể extendChronomter, như thế này:

import android.content.Context; 
import android.os.SystemClock; 
import android.util.AttributeSet; 
import android.widget.Chronometer; 

public class MyChronometer extends Chronometer { 

    private boolean isRunning = false; 

    public MyChronometer(Context context) { 
     super(context); 
    } 

    public MyChronometer(Context context, AttributeSet attrs) { 
     super(context, attrs); 
    } 

    public MyChronometer(Context context, AttributeSet attrs, int defStyle) { 
     super(context, attrs, defStyle); 
    } 

    @Override 
    public void start() { 
     super.start(); 
     isRunning = true; 
    } 

    @Override 
    public void stop() { 
     super.stop(); 
     isRunning = false; 
    } 

    public boolean isRunning() { 
     return isRunning; 
    } 

} 

Và sau đó chỉ cần gọi isRunning().

0
private boolean isChronometerRunning = false; 

private Chronometer chronometer; 

chronometer = (Chronometer) findViewById(R.id.chronometer); 

chronometer.setBase(SystemClock.elapsedRealtime()); 
chronometer.start(); 

isChronometerRunning = true; 

Bây giờ bất cứ khi nào muốn ngừng sử dụng chronometer, hãy sử dụng mã bên dưới để kiểm tra đồng hồ bấm giờ đang chạy hay không.

if (isChronometerRunning){ 
     chronometer_call.stop(); 
    } 
Các vấn đề liên quan