以下是一种实现方式:

  1. 在布局文件中添加一个TextView用于显示倒计时,和一个Button用于模拟打开Activity的操作。

  2. 在Activity中定义一个CountDownTimer对象,用于实现倒计时。

  3. 在Activity中定义一个整型变量dazeicisu,初始值为0。

  4. 在Activity的onCreate方法中,为Button设置点击事件,点击时启动CountDownTimer对象开始倒计时。

  5. 在CountDownTimer对象的onTick方法中更新TextView的显示,每秒钟减一。

  6. 在CountDownTimer对象的onFinish方法中判断dazeicisu是否达到最大值,如果未达到则加1并重新开始倒计时,否则弹出提示。

  7. 在Activity的onPause方法中停止CountDownTimer对象,避免出现内存泄漏。

代码如下:

布局文件:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/countdown_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="24sp"
        android:layout_centerInParent="true" />

    <Button
        android:id="@+id/start_button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Start"
        android:layout_alignParentBottom="true"
        android:layout_centerHorizontal="true" />

</RelativeLayout>

Activity代码:

public class MainActivity extends AppCompatActivity {

    private TextView countdownTextView;
    private Button startButton;

    private CountDownTimer countDownTimer;
    private int dazeicisu = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        countdownTextView = findViewById(R.id.countdown_textview);
        startButton = findViewById(R.id.start_button);

        startButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                startCountdown();
            }
        });
    }

    private void startCountdown() {
        countDownTimer = new CountDownTimer(10 * 60 * 1000, 1000) {
            @Override
            public void onTick(long millisUntilFinished) {
                int seconds = (int) (millisUntilFinished / 1000);
                countdownTextView.setText(String.format("%02d:%02d", seconds / 60, seconds % 60));
            }

            @Override
            public void onFinish() {
                if (dazeicisu < 3) {
                    dazeicisu++;
                    startCountdown();
                } else {
                    Toast.makeText(MainActivity.this, "已达到最大值", Toast.LENGTH_SHORT).show();
                }
            }
        }.start();
    }

    @Override
    protected void onPause() {
        super.onPause();
        if (countDownTimer != null) {
            countDownTimer.cancel();
        }
    }
}
在android studio中编写程序在activity打开时开始10分钟倒计时并显示倒计时倒计时结束后名为dazeicisu且初始值为0的整形数据加1 并重新开始倒计时dazeicisu的最大值为3。

原文地址: https://www.cveoy.top/t/topic/bIql 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录