handle实现获取短信验证的工具

public class SendSmsTools {
    private int count ;
    public static final int MSG_CODE = 10;
    private TextView tv;
    private int myCount;
    private String hint="重新获取";
    private int id;
    Context context;

    public SendSmsTools(int count, TextView tv, String hint, int id,Context context) {
        this.count = count;
        this.tv = tv;
        this.hint = hint;
        this.id = id;
        myCount=count;
        this.context=context;

    }

    public Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            switch (msg.what){
                case MSG_CODE:
                    if (count<0){
                        handler.removeMessages(MSG_CODE);
                        if (tv!=null){
                            tv.setEnabled(true);
                            tv.setText(hint);
                        }
                    }else {
                        tv.setEnabled(false);

                        if (TextUtils.isEmpty(context.getResources().getString(id))){
                            tv.setText(count+"");
                        }else {
                            tv.setText(context.getResources().getString(id,count));
                        }
                        count--;

                        handler.sendEmptyMessageDelayed(MSG_CODE,1000);
                    }
                    break;
            }
        }
    };
    public void start() {
        count=myCount;
        handler.sendEmptyMessage(MSG_CODE);
    }
}

这是一个获取的工具类。使用如下:

public class MainActivity extends AppCompatActivity {
    TextView sms;
    SendSmsTools tools;
    Handler handle;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        sms= (TextView) findViewById(R.id.sms);
        tools=new SendSmsTools(10,sms,"重新获取",R.string.send,this);
        handle=tools.handler;
        sms.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tools.start();
            }
        });
    }
}

以后要是使用验证码功能,几行代码就搞定了。大家有什么

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值