Java 试图做一个计时器循环
我想做一个倒计时循环。 我想让它循环,直到“intx”达到100。 我尝试添加do/while和for循环,但我认为我做得不对。 有什么建议吗? 感谢您的关注。:-)`Java 试图做一个计时器循环,java,android,Java,Android,我想做一个倒计时循环。 我想让它循环,直到“intx”达到100。 我尝试添加do/while和for循环,但我认为我做得不对。 有什么建议吗? 感谢您的关注。:-)` 公共类MainActivity扩展活动{ 按钮启动时间; //单击此按钮将开始倒计时 TextView textViewShowTime;//将显示时间 文本视图快照; CountDownTimer CountDownTimer;//内置android类CountDownTimer long TotalTimeCountInMi
公共类MainActivity扩展活动{
按钮启动时间;
//单击此按钮将开始倒计时
TextView textViewShowTime;//将显示时间
文本视图快照;
CountDownTimer CountDownTimer;//内置android类CountDownTimer
long TotalTimeCountInMillistics;//总倒计时时间(毫秒)
长时间闪烁毫秒;//开始闪烁的开始时间
布尔闪烁;//控制闪烁..打开和关闭
静态int x=3;
整数=100;
/**在首次创建活动时调用*/
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GetReferenceOfView();//获取所有视图
setActionListeners();//设置操作侦听器
TotalTimeCountInMillistics=60*1000;//3分钟的时间计数=180秒
timeblinkinmillizes=10*1000;//闪烁从1分钟=60秒开始
}
私有void setActionListeners(){
buttonStartTime.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图){
textViewShowTime.setTextAppearance(getApplicationContext(),R.style.normalText);
countDownTimer=新的countDownTimer(TotalTimeCountin毫秒,500){
//500表示每500毫秒调用一次onTick函数
@凌驾
公共void onTick(长LeftTimein毫秒){
长秒=LeftTimein毫秒/1000;
if(LeftTimeinMillions
}`
上面将调用onTick 100次您希望启动100个不同的计时器吗?不,对不起,我希望计时器重复100次。您是否将TotalTimeCountinMillics更改为1000*1000,并将onTick中的x++更改为1000*1000
public class MainActivity extends Activity{
Button buttonStartTime;
// clicking this button will start time count down
TextView textViewShowTime; // will show the time
TextView shots;
CountDownTimer countDownTimer; // built in android class CountDownTimer
long totalTimeCountInMilliseconds; // total count down time in milliseconds
long timeBlinkInMilliseconds; // start time of start blinking
boolean blink; // controls the blinking .. on and off
static int x = 3;
int whole = 100;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getReferenceOfViews (); // get all views
setActionListeners (); // set action listerns
totalTimeCountInMilliseconds = 60 * 1000; // time count for 3 minutes = 180 seconds
timeBlinkInMilliseconds = 10 * 1000; // blink starts at 1 minutes = 60 seconds
}
private void setActionListeners() {
buttonStartTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
textViewShowTime.setTextAppearance(getApplicationContext(), R.style.normalText);
countDownTimer = new CountDownTimer(totalTimeCountInMilliseconds, 500) {
// 500 means, onTick function will be called at every 500 milliseconds
@Override
public void onTick(long leftTimeInMilliseconds) {
long seconds = leftTimeInMilliseconds / 1000;
if ( leftTimeInMilliseconds < timeBlinkInMilliseconds ) {
textViewShowTime.setTextAppearance(getApplicationContext(), R.style.blinkText);
// change the style of the textview .. giving a red alert style
if ( blink ) {
textViewShowTime.setVisibility(View.VISIBLE);
// if blink is true, textview will be visible
} else {
textViewShowTime.setVisibility(View.INVISIBLE);
}
blink = !blink; // toggle the value of blink
}
textViewShowTime.setText(String.format("%02d", seconds / 60) + ":" + String.format("%02d", seconds % 60));
// format the textview to show the easily readable format
}
@Override
public void onFinish() {
x++;
// this function will be called when the timecount is finished
textViewShowTime.setText("SHOT!!!");
textViewShowTime.setVisibility(View.VISIBLE);
}
}
.start();
}
});
}
private void getReferenceOfViews() {
buttonStartTime = (Button) findViewById(R.id.btnStartTime);
textViewShowTime = (TextView) findViewById(R.id.tvTimeCount);
}
totalTimeCountInMilliseconds =1000 * 1000; // time count for 3 minutes = 180 seconds
timeBlinkInMilliseconds = 10 * 1000; // blink starts at 1 minutes = 60 seconds
new CountDownTimer(totalTimeCountInMilliseconds , timeBlinkInMilliseconds )