gpt4 book ai didi

自动检测信用卡类型的Android Edittext

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:50:10 25 4
gpt4 key购买 nike

我正在处理 android 中的支付选项,通过提供使用信用卡支付的选项,一些用户可能会错误地为其他信用卡号选择不同的信用卡类型,所以我决定看看此问题根据输入的号码自动检测卡类型,

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

androidedittext

如何做到这一点,就像在更改卡片类型时发生的动画一样?

我知道制作一个文本观察器并根据输入更改带有 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, 0, imageArray[i], 0);

cardtype = String.valueOf(i);
}
}
}

}

@Override
public void beforeTextChanged(CharSequence s, int start, 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, imageArray[i], 0);

cardtype = String.valueOf(i);
}
}
}
else
{
creditcardnumberedittext.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.allcards, 0);
}
}
});

谢谢..

关于自动检测信用卡类型的Android Edittext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28314240/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com