//activity_start.class package com.example.yuanann.myregietration; import android.content.Intent; import android.os.Handler; import android.os.Message; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment; import androidx.viewpager.widget.PagerAdapter; import androidx.viewpager.widget.ViewPager; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import java.util.Timer; //在Java语言中实现定时功能,可以使用Timer以及TimerTask实现,jdk1.5之后也可以使用ScheduledExcecutorService 实现. import java.util.TimerTask; public class Activity_Start extends AppCompatActivity { private Button jumps; private int recLen = 5; Timer timer = new Timer(); private final long SPLASH_LENGTH = 3000; //Handler handler = new Handler(); public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_start); jumps=(Button)findViewById(R.id.jumps); timer.schedule(task, 1000, 1000); jumps.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(activity_start.this, activity_main.class); startActivity(intent); timer.cancel(); finish(); } }); } final Handler handler2 = new Handler(){ //传递Message。用于接受子线程发送的数据, 并用此数据配合主线程更新UI。 @Override public void handleMessage(Message msg){ switch (msg.what) { case 1: jumps.setText(recLen + "s跳过"); if(recLen == 0){ timer.cancel(); Intent intent = new Intent(activity_start.this, activity_main.class); startActivity(intent); finish(); } } } }; TimerTask task = new TimerTask() { //TimerTask类用来实现由Timer安排的一次或者重复执行的某一个任务。 @Override public void run() { recLen--; Message message = new Message(); message.what = 1; handler2.sendMessage(message); } }; }