아이디에 영어와 숫자만 가능하며 10글자 이내로만 아이디를 받기로 하였다.

 

edit_id.filters = arrayOf(InputFilter { source, _, _, _, _, _ ->
            val ps: Pattern =
                Pattern.compile("^[a-zA-Z0-9\\u318D\\u119E\\u11A2\\u2022\\u2025a\\u00B7\\uFE55]+$")
            if (source == "" || ps.matcher(source).matches()) {
                return@InputFilter source
            }
            Toast.makeText( this, "영문, 숫자만 입력 가능합니다.", Toast.LENGTH_SHORT).show()
            ""
        }, InputFilter.LengthFilter(10))

 

A-Za-z0-9는 영어와 숫자만 입력이 가능하게 하는 정규식 특수문자이고 조건에 맞지 않으면 메시지를 띄운다.

 

\\u318D\\u119E\\u11A2\\u2022\\u2025a\\u00B7\\uFE55 이것은 천지인 키보드에 맞게 정의한 입력방식이다. 

 

LengthFilter로 10글자까지만 입력 가능하도록 하였다.

logout 버튼을 클릭 시 다이얼로그를 띄워 재확인한다.

 

로그아웃 버튼을 클릭하였을 때 다이얼로그를 띄운다.

No를 클릭시 null값으로 다이얼로그가 내려가며

Yes클릭 시 로그아웃이 되었다는 메시지와 간단하게 login_activity로 이동하여 메인화면인 로그인 창으로 넘어가도록 하였다.

button_logout.setOnClickListener { view ->
            var dialog = AlertDialog.Builder(this)
            dialog.setTitle("로그아웃을 하시겠습니까?")
            dialog.setMessage("저희 SAFE FARM을 이용해주셔서 감사합니다.")
            dialog.setIcon(R.drawable.icon5)

            fun toast_p() {
                Toast.makeText(this, "로그아웃 되었습니다.", Toast.LENGTH_SHORT).show()
                    val intent = Intent(this,login_activity::class.java)
                    startActivity(intent)
            }
            var dialog_listener = object: DialogInterface.OnClickListener{
                override fun onClick(dialog: DialogInterface?, which: Int) {
                    when(which){
                        DialogInterface.BUTTON_POSITIVE ->
                            toast_p()
                    }
                }
            }
            dialog.setPositiveButton("YES",dialog_listener)
            dialog.setNegativeButton("NO",null)
            dialog.show()
        }

 

 

1.5초 내로 두 번 뒤로 가기를 눌렀을 경우 토스트 메세지를 띄우고 앱을 종료시키는 코드이다.

필요한 각 activity에 코드를 넣었다.

var lastTimeBackPressed : Long = 0
    override fun onBackPressed() {
        if(System.currentTimeMillis() - lastTimeBackPressed >= 1500){
            lastTimeBackPressed = System.currentTimeMillis()
            Toast.makeText(this,"'뒤로' 버튼을 한번 더 누르시면 종료됩니다.",Toast.LENGTH_LONG).show() }
        else {
            ActivityCompat.finishAffinity(this)
            System.runFinalization()
            System.exit(0)
        }
    }

 

+ Recent posts