安卓开发中使用Java定时器实现最简单的自定义Toast显示时间

最简单的安卓开发自定义Toast显示时间(使用Java定时器实现)

1.新建类继承TimerTask

import android.widget.Toast;

import java.util.Timer;
import java.util.TimerTask;

public class toastTask extends TimerTask {
    Toast toast;
    Timer timer;
    @Override
    public void run() {
        toast.cancel();
        timer.cancel();
        timer.purge();
    }

    public toastTask(Toast toast) {
        this.toast = toast;
    }

    public void setTimer(Timer timer) {
        this.timer = timer;
    }
}

2.再新建一个控制Toast显示的类

import android.content.Context;
import android.widget.Toast;

import java.util.Timer;

public class new_Toast {
    private String str;
    private long time = 800;
    private Context context;

    public new_Toast(String str, long time, Context context) {
        this.str = str;
        this.time = time;
        this.context = context;
    }

    public new_Toast setStr(String str) {
        this.str = str;
        return this;
    }

    public new_Toast setTime(long time) {
        this.time = time;
        return this;
    }

    public new_Toast setContext(Context context) {
        this.context = context;
        return this;
    }

    public new_Toast(Context context) {
        this.context = context;
    }


    public void start() {
        Timer timer = new Timer();
        Toast toast = Toast.makeText(context, str, Toast.LENGTH_SHORT);
        toast.show();
        toastTask toastTask = new toastTask(toast);
        toastTask.setTimer(timer);
        timer.schedule(toastTask,time);
    }
}

3.在方法里实例化类然后调用

调用的时候可以设置内容和时间,但是设置时间不要超过2s,如果需要长时间的话可以在timer里面传入循环调用的时间(我也没试过)。
调用
这样虽然可以实现但是不知道有什么别的问题,凑合能用就行了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值