android中6个EditText输入验证码(仿支付宝支付输入密码框)

本文介绍了如何在Android中创建一个模仿支付宝支付的验证码输入框,通过EditText实现6位数字的逐位输入,并提供了关键代码段,展示了EditText的焦点切换和文字监听功能,帮助开发者实现类似需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

需求要求手机号进行注册时,需要获取验证码,而且还是6个EditText的那种,当时从网上找了好久,都没有找到自己所想要的,后来索性自己写了一个,开始很不完善,也想着放弃,到后来,慢慢改着改着就成了,虽然还存在一个小bug,但是总体流程还是令人满意的。回头想来,很多问题不是无解,或者是不是自己搞不定,实际上是我们心静不下来,没有钻研的耐力。所以,对于我这个菜鸟来来说,这也是一个激励自己认真研究的一个小小的动力吧!同时,也希望我的代码能够帮助到需要的朋友,一起进步!


下面是Activiy,UI部分是6个EditText,在此就不贴出:

/**
 *
 * @author lm
 *
 */
public class IdentifyActivity extends Activity {

    private EditText mEditTextOne, mEditTextTwo, mEditTextThree, mEditTextFour, mEditTextFive, mEditTextSix;

    private static final String TAG = "miao";
    boolean b = true;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_layout);
        initView();
        
    }
    

    public void initView() {
        mEditTextOne = (EditText) findViewById(R.id.main_one);
        mEditTextTwo = (EditText) findViewById(R.id.main_two);
        mEditTextThree = (EditText) findViewById(R.id.main_three);
        mEditTextFour = (EditText) findViewById(R.id.main_four);
        mEditTextFive = (EditText) findViewById(R.id.main_five);
        mEditTextSix = (EditText) findViewById(R.id.main_six);
        
        int one = mEditTextOne.getText().toString().replace(" ", "").length();
        int Two = mEditTextTwo.getText().toString().replace(" ", "").length();
        int Three = mEditTextThree.getText().toString().replace(" ", "").length();
        int Four = mEditTextFour.getText().toString().replace(" ", "").length();
        int Five = mEditTextFive.getText().toString().replace(" ", "").length();
        int Six = mEditTextSix.getText().toString().replace(" ", "").length();
        if(one == 0 && Two == 0 && Three == 0 && Four == 0 && Five == 0 && Six == 0){
            Log.i(TAG, "------空空空-----");
            mEditTextOne.setFocusable(true);
            mEditTextTwo.setFocusable(false);
            mEditTextThree.setFocusable(false);
            mEditTextFour.setFocusable(false);
            m

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值