Android开发:编程实现界面定时刷新

最近在开发过程中遇到一个需求,要求间隔固定时间主动更新界面的内容。调研了之后发现可以使用Handler机制实现上述功能,记录一下。

使用Handler机制实现的逻辑是,在Activity首次创建的时候使用Handler的sendEmptyMessageDelayed方法延时发送一次消息;并重写Handler的handleMessage方法,在该方法中:1.进行页面刷新操作;2.再次使用Handler进行消息的延时发送,以此实现重复的定时刷新功能,具体代码如下:

public class MainActivity extends AppCompatActivity {
    
    

    private Handler handlerSend = new Handler(){
    
    
        @Override
        public void handleMessage(@NonNull Message msg) {
    
    
            // 重写handleMessage方法
            super.handleMessage(msg);
            if (msg.what == 1) {
    
    
                Toast.makeText(getApplicationContext(), "页面刷新成功!", Toast.LENGTH_SHORT).show();
                // 再次使用handler发送信息
                handlerSend.sendEmptyMessageDelayed(1, 1000);
            }
        }
    };

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    
    
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        // Activity首次创建,使用Handler发送一次消息
        handlerSend.sendEmptyMessageDelayed(1, 1000);
    }
}

注:界面定时刷新功能也可以使用Timer定时器进行实现,感兴趣的伙伴可以自行了解~

猜你喜欢

转载自blog.csdn.net/weixin_46269688/article/details/124275496
今日推荐