Android Edittext,可自动检测xyk类型

Android Edittext,可自动检测xyk类型,第1张

概述我正在处理 android中的付款选项,通过选择使用xyk付款,一些用户可能会错误地为其他xyk号码选择不同的xyk类型,所以我决定查看此问题根据输入的号码自动检测卡片类型, 我发现Flipkart已经在他们的Android应用程序中有这个,在这里我附加了这个功能, 如何在改变卡片类型的同时进行动画播放? 我知道要创建一个文本观察器,并根据输入更改带有EditText的drawableRight图 我正在处理 android中的付款选项,通过选择使用xyk付款,一些用户可能会错误地为其他xyk号码选择不同的xyk类型,所以我决定查看此问题根据输入的号码自动检测卡片类型,

我发现Flipkart已经在他们的Android应用程序中有这个,在这里我附加了这个功能,

如何在改变卡片类型的同时进行动画播放?

我知道要创建一个文本观察器,并根据输入更改带有EditText的drawableRight图像的卡片类型.

但需要在drawableRight上做一些动画.

帮助赞赏..!

解决方法 在上述答案和建议的帮助下,我取得了成果,

这是解决方案:

为正则表达式创建一个函数

public static ArrayList<String> listofPattern(){    ArrayList<String> listofPattern=new ArrayList<String>();    String ptVisa = "^4[0-9]$";    listofPattern.add(ptVisa);    String ptMasterCard = "^5[1-5]$";    listofPattern.add(ptMasterCard);    String ptdiscover = "^6(?:011|5[0-9]{2})$";    listofPattern.add(ptdiscover);    String ptAmeExp = "^3[47]$";    listofPattern.add(ptAmeExp);    return listofPattern;}Integer[] imageArray = { R.drawable.visa,R.drawable.master,R.drawable.disnet,R.drawable.ae };

在addTextChangedListener中使用下面的代码

creditcardnumberedittext.addTextChangedListener(new TextWatcher()    {        @OverrIDe        public voID onTextChanged(CharSequence s,int start,int before,int count)        {            String ccNum = s.toString();            if(ccNum.length()>=2)            {                for (int i = 0; i < listofPattern.size(); i++)                {                    if (ccNum.substring(0,2).matches(listofPattern.get(i)))                    {                        creditcardnumberedittext.setCompoundDrawablesWithIntrinsicBounds(0,imageArray[i],0);                        cardtype = String.valueOf(i);                    }                }            }        }        @OverrIDe        public voID beforeTextChanged(CharSequence s,int count,int after)        {            // Todo auto-generated method stub        }        @OverrIDe        public voID afterTextChanged(Editable s)        {                           if (!creditcardnumberedittext.getText().toString().equalsIgnoreCase(""))            {                for (int i = 0; i < listofPattern.size(); i++)                {                    if (creditcardnumberedittext.getText().toString().matches(listofPattern.get(i)))                    {                        creditcardnumberedittext.setCompoundDrawablesWithIntrinsicBounds(0,0);                        cardtype = String.valueOf(i);                    }                }            }            else            {                creditcardnumberedittext.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.allcards,0);            }        }    });

谢谢..

总结

以上是内存溢出为你收集整理的Android Edittext,可自动检测xyk类型全部内容,希望文章能够帮你解决Android Edittext,可自动检测xyk类型所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1149056.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存