Asked Oct 5th, 2018 11:30 PM 143 0 1
  • 143 0 1
+1

Hiển thị TextView kiểu số trong Android

Share
  • 143 0 1

chào mọi người. Mình muốn hiển thị dãy số dạng kiểu này **** **** **** 1234 Mình muốn ẩn những dãy số ban đầu và chỉ hiển thị 4 số cuối. Thì định dạng như thế nào trong code vậy? Mong mọi nguời giúp đỡ.

1 ANSWERS


Answered Oct 6th, 2018 10:50 AM
Accepted
+2

Nếu bạn chỉ muốn format String thông thường thì có dùng các hàm cắt, cộng chuỗi trong java.

Còn nếu bạn muốn tự động chuyển sang dấu sao khi người dùng nhập số thì có thể dùng cách này :

ezgif-1-215317a43833.gif

Viết 1 class custom lại PasswordTransformationMethod, số 9 trong hàm charAt chính là số kí tự bạn muốn chuyển sang dấu * .

public class MyTransformationMethod extends PasswordTransformationMethod {
    @Override
    public CharSequence getTransformation(CharSequence source, View view) {
        return new CustomCharSequence(source);
    }

    private class CustomCharSequence implements CharSequence {
        private CharSequence mSource;

        CustomCharSequence(CharSequence source) {
            mSource = source;
        }

        @Override
        public char charAt(int index) {
            return (index < 9) ? '*' : mSource.charAt(index);
        }

        @Override
        public int length() {
            return mSource.length();
        }

        @Override
        public CharSequence subSequence(int start, int end) {
            return mSource.subSequence(start, end);
        }
    }
}

Và trong code, chỉ cần set thuộc tính của editText như sau:

editText.setTransformationMethod(new MyTransformationMethod());
Share
Oct 6th, 2018 12:50 PM

thank bạn nhiều 😃

0
| Reply
Share
Dang @Tinh
Oct 8th, 2018 4:08 AM
0
| Reply
Share