HandlerTest.java文件: package com.example.listviewadapter; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.util.Log; import android.widget.TextView; import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.appcompat.app.AppCompatActivity; import java.util.Timer; import java.util.TimerTask; public class HandlerTest extends AppCompatActivity { int curr_num = 0; private TextView textView; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.num); final Handler myHandler = new Handler(){ @Override public void handleMessage(@NonNull Message msg) { if( msg.what == 010 ){ try { textView.setText("text:"+curr_num); }catch (Exception e){ e.printStackTrace(); } Log.i("info", "num:"+curr_num); curr_num++; if( curr_num > 7 ){ curr_num = 1; } } } }; // 定义一个计时器,让计时器周期性地执行指定任务 new Timer().schedule(new TimerTask() { @Override public void run() { Message msg = new Message(); msg.what = 010; myHandler.sendMessage(msg); } },0,800); } }
activity_main.xml文件
<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout 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"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/num" android:textColor="@color/colorAccent" android:layout_width="match_parent" android:layout_height="wrap_content">num</TextView> </LinearLayout> </androidx.constraintlayout.widget.ConstraintLayout>