쿠폰번호 입력 필터 수정

AS-IS : 영대문자와 숫자만 입력되도록 필터적용

TO-BE : 영문이 입력되면 대문자로 변경되지만 나머지 문자는 입력될 수 있도록 수정

- 기존의 InputFilter는 입력하다보면 앞에 문자가 반복해서 입력되는 기기도 있는 것 확인
This commit is contained in:
klaus 2024-01-04 12:18:21 +09:00
parent 144ff4af05
commit 13057af98a
1 changed files with 2 additions and 12 deletions

View File

@ -3,8 +3,6 @@ package kr.co.vividnext.sodalive.mypage.can.coupon
import android.content.Intent
import android.os.Bundle
import android.text.InputFilter
import android.text.SpannableStringBuilder
import android.text.Spanned
import android.widget.Toast
import kr.co.vividnext.sodalive.base.BaseActivity
import kr.co.vividnext.sodalive.common.LoadingDialog
@ -12,6 +10,7 @@ import kr.co.vividnext.sodalive.databinding.ActivityCanCouponBinding
import kr.co.vividnext.sodalive.mypage.can.status.CanStatusActivity
import org.koin.android.ext.android.inject
class CanCouponActivity : BaseActivity<ActivityCanCouponBinding>(
ActivityCanCouponBinding::inflate
) {
@ -30,16 +29,7 @@ class CanCouponActivity : BaseActivity<ActivityCanCouponBinding>(
binding.toolbar.tvBack.text = "쿠폰등록"
binding.toolbar.tvBack.setOnClickListener { finish() }
val uppercaseAndDigitsFilter = InputFilter { source, _, _, _, _, _ ->
val filtered = source.filter { it.isUpperCase() || it.isDigit() }
if (source is Spanned) {
return@InputFilter SpannableStringBuilder(filtered)
} else {
return@InputFilter filtered
}
}
binding.etCouponNumber.filters = arrayOf(uppercaseAndDigitsFilter)
binding.etCouponNumber.filters = arrayOf(InputFilter.AllCaps())
binding.tvRegistration.setOnClickListener {
val couponNumber = binding.etCouponNumber.text.toString()