Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android中格式化信用卡输入,如(xxxx xxxx xxxx xxxx)_Android - Fatal编程技术网

在android中格式化信用卡输入,如(xxxx xxxx xxxx xxxx)

在android中格式化信用卡输入,如(xxxx xxxx xxxx xxxx),android,Android,如何在android中设置上述格式的信用卡号(中间的空格)?有人能帮我吗?如果我没说错,您可以这样做,因为用户在每键入四个字符后在edittext中提供输入,所以应该在其后面放置一个空格 如果这是您需要的,那么您可以实施: editText.addTextChangedListener(new TextWatcher(){ public void afterTextChanged(Editable s) { // apply your logic for p

如何在android中设置上述格式的信用卡号(中间的空格)?有人能帮我吗?

如果我没说错,您可以这样做,因为用户在每键入四个字符后在edittext中提供输入,所以应该在其后面放置一个空格

如果这是您需要的,那么您可以实施:

editText.addTextChangedListener(new TextWatcher(){
        public void afterTextChanged(Editable s) {
           // apply your logic for putting space after every four characters typed
        }
        public void beforeTextChanged(CharSequence s, int start, int count, int after){}
        public void onTextChanged(CharSequence s, int start, int before, int count){}
    });
编辑:

我认为您可以使用
PatternMatcher
类。请访问[developer.android.com]上的以下链接:


检查此处的教程:

如果我没有错,您希望这样做,因为用户在每键入四个字符后在edittext中提供输入,因此应在其后面放置空格

如果这是您需要的,那么您可以实施:

editText.addTextChangedListener(new TextWatcher(){
        public void afterTextChanged(Editable s) {
           // apply your logic for putting space after every four characters typed
        }
        public void beforeTextChanged(CharSequence s, int start, int count, int after){}
        public void onTextChanged(CharSequence s, int start, int before, int count){}
    });
编辑:

我认为您可以使用
PatternMatcher
类。请访问[developer.android.com]上的以下链接:

查看此处的教程:

您可以这样做:

private String _ccNumber = "";

cc_no.addTextChangedListener(ccWatcher);

private TextWatcher ccWatcher= new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {}
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
    @Override
    public void afterTextChanged(Editable s) {
        if(_ccNumber.length() < s.length()){

            switch(s.length()){
                case 6:
                    s.insert(5, " ");
                    break;
                case 11:
                    s.insert(10, " ");
                    break;
                case 16:
                    s.insert(15, " ");
                    break;
            }
        }
        _ccNumber = s.toString();
    }
};
private String_ccNumber=”“;
抄送编号addTextChangedListener(抄送观察者);
私有TextWatcher ccWatcher=新TextWatcher(){
@凌驾
public void onTextChanged(字符序列,int start,int before,int count){}
@凌驾
public void beforeTextChanged(字符序列s、int start、int count、int after){}
@凌驾
公共无效后文本已更改(可编辑){
如果(ccNumber.length()
您可以这样做:

private String _ccNumber = "";

cc_no.addTextChangedListener(ccWatcher);

private TextWatcher ccWatcher= new TextWatcher() {
    @Override
    public void onTextChanged(CharSequence s, int start, int before, int count) {}
    @Override
    public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
    @Override
    public void afterTextChanged(Editable s) {
        if(_ccNumber.length() < s.length()){

            switch(s.length()){
                case 6:
                    s.insert(5, " ");
                    break;
                case 11:
                    s.insert(10, " ");
                    break;
                case 16:
                    s.insert(15, " ");
                    break;
            }
        }
        _ccNumber = s.toString();
    }
};
private String_ccNumber=”“;
抄送编号addTextChangedListener(抄送观察者);
私有TextWatcher ccWatcher=新TextWatcher(){
@凌驾
public void onTextChanged(字符序列,int start,int before,int count){}
@凌驾
public void beforeTextChanged(字符序列s、int start、int count、int after){}
@凌驾
公共无效后文本已更改(可编辑){
如果(ccNumber.length()
//获取此编辑文本字段的引用
EditText etNICNO_发送方=(EditText)findViewById(R.id.etNICNO_发送方);
/*使用TextWatcher参数添加textChangeListner
通过添加带有文本观察程序的文本更改列表器,我们可以获得三种
编辑文本1)文本更改2)文本更改前3)文本更改后
当用户在文本字段中键入时,这些方法起作用。
*/
etNICNO_Sender.addTextChangedListener(新的TextWatcher(){
int len=0;
@凌驾
public void onTextChanged(字符序列、int start、int before、int count){
//TODO自动生成的方法存根
String str=etNICNO_Sender.getText().toString();
if((str.length()==5&&len
//获取此编辑文本字段的引用
EditText etNICNO_发送方=(EditText)findViewById(R.id.etNICNO_发送方);
/*使用TextWatcher参数添加textChangeListner
通过添加带有文本观察程序的文本更改列表器,我们可以获得三种
编辑文本1)文本更改2)文本更改前3)文本更改后
当用户在文本字段中键入时,这些方法起作用。
*/
etNICNO_Sender.addTextChangedListener(新的TextWatcher(){
int len=0;
@凌驾
public void onTextChanged(字符序列、int start、int before、int count){
//TODO自动生成的方法存根
String str=etNICNO_Sender.getText().toString();

如果((str.length()==5&&len您实际想要什么?我必须检查用户是否输入了有效的信用卡号。ie(9999999999999)必须在此格式中给出您实际想要的内容。我必须检查用户是否输入了有效的信用卡号。ie(9999999999999999)必须使用此格式如果用户输入卡号,则应自动在两者之间留空格。如何实现此功能?如果用户输入卡号,则应自动在两者之间留空格。如何实现此功能?