투케이2K

110. (TWOK/UTIL) [Android/kotlin] C_Ui_View - 팝업창 표시 , UI 뷰 관련 표시 수행 본문

투케이2K 유틸파일

110. (TWOK/UTIL) [Android/kotlin] C_Ui_View - 팝업창 표시 , UI 뷰 관련 표시 수행

투케이2K 2022. 12. 13. 23:01

[설 명]

프로그램 : Android / Kotlin

설 명 : C_Ui_View - 팝업창 표시 , UI 뷰 관련 표시 수행

 

[소스 코드]

 

package com.example.kotlinproject

import android.app.AlertDialog
import android.content.Context
import android.content.DialogInterface
import android.os.Handler
import android.os.Looper
import android.util.Log

class C_Ui_View {


    /**
     * // -----------------------------------------
     * TODO [클래스 설명]
     * // -----------------------------------------
     * 1. 팝업창 표시 , UI 뷰 관련 표시 수행
     * // -----------------------------------------
     * */





    // TODO [빠른 로직 찾기 : 주석 로직 찾기]
    /**
     * // -----------------------------------------
     * // [SEARCH FAST] : [Alert 팝업창 호출 처리 메소드]
     * // -----------------------------------------
     */





    // TODO [companion object >> static 선언 실시]
    companion object {


        // TODO [SEARCH FAST] : [Alert 팝업창 호출 처리 메소드]
        fun showAlert(mContext: Context, setType: Int, header: String, content: String, ok: String, no:String) {

            /**
             * // -----------------------------------------
             * [showAlert 메소드 설명]
             * // -----------------------------------------
             * 1. Alert 팝업창 호출 처리 메소드
             * // -----------------------------------------
             * */

            // -----------------------------------------

            //*
            Log.i("---","---" + "\n")
            Log.d("//===========//","================================================")
            Log.i("","\n"+"[C_Ui_View >> showAlert() :: Alert 팝업창 호출 실시]")
            Log.i("","\n"+"[type :: "+ setType.toString() +"]")
            Log.i("","\n"+"[header :: "+ header +"]")
            Log.i("","\n"+"[content :: "+ content +"]")
            Log.d("//===========//","================================================")
            Log.i("---","---" + "\n")
            // */

            // -----------------------------------------

            /** [사용 방법 정의] */
            /*
            // [팝업창 호출 실시]
            C_Ui_View.showAlert(
                    this@A_Intro,
                    1, // [와이파이 설정창 이동 코드]
                    "알림",
                    "현재 연결된 네트워크가 없습니다. \n 설정에서 다시 확인해주세요.",
                    "설정",
                    "취소");
            // */

            // -----------------------------------------

            /** [파라미터 관련 설명] */
            // 1. setType : 설정창 이동 여부 타입
            //  - [0 = 없음 / 1 = 와이파이 설정창 / 2 = 블루투스 설정창 / 3 = 위치 권한 설정창]
            //  - [4 = NFC 설정창 / 5 = 애플리케이션 설정창]
            // 2. header : 팝업창 타이틀
            // 3. content : 팝업창 내용
            // 4. ok : 확인 버튼
            // 5. no : 취소 버튼

            // -----------------------------------------

            // [로직 처리 실시]
            try {

                // [타이틀 및 내용 표시]
                val Title = header
                val Message = content


                // [버튼 이름 정의]
                val buttonYes = ok
                val buttonNo = no


                // [AlertDialog 팝업창 생성]
                Handler(Looper.getMainLooper()).postDelayed({ // TODO [핸들러 루퍼 사용 : UI 스레드]

                    AlertDialog.Builder(mContext)
                        .setTitle(Title) //[팝업창 타이틀 지정]
                        //.setIcon(R.drawable.app_icon) //[팝업창 아이콘 지정]
                        .setMessage(Message) //[팝업창 내용 지정]
                        .setCancelable(false) //[외부 레이아웃 클릭시도 팝업창이 사라지지않게 설정]
                        .setPositiveButton(buttonYes, DialogInterface.OnClickListener { dialog, which ->
                            // TODO Auto-generated method stub
                            // -----------------------------------------
                            // TODO [확인 버튼 클릭 이벤트 처리]
                            if (setType == 0) {
                                // [일반 알림 표시]
                            }
                            if (setType == 1) {
                                // C_Intent.goWifiIntent(mContext) // [와이파이 설정창 이동]
                            }
                            // -----------------------------------------
                            if (setType == 2) {
                                // C_Intent.goBleSettingsIntent(mContext) // [블루투스 설정창 이동]
                            }
                            // -----------------------------------------
                            if (setType == 3) {
                                // C_Intent.goGpsSettingsIntent(mContext) // [위치 설정창 이동]
                            }
                            // -----------------------------------------
                            if (setType == 4) {
                                // C_Intent.goNfcIntent(mContext) // [NFC 설정창 이동]
                            }
                            // -----------------------------------------
                            if (setType == 5) {
                                // C_Intent.goAppInfoIntent(mContext) // [애플리케이션 설정창 이동]
                            }
                            // -----------------------------------------
                        })
                        .setNegativeButton(buttonNo, DialogInterface.OnClickListener { dialog, which ->
                            // TODO Auto-generated method stub
                        })
                        .show()

                },0)
            }
            catch (e: Exception) {
                e.printStackTrace()
            }

            // -----------------------------------------

        }

    } // [companion 종료]


} // TODO [클래스 종료]

 


 

반응형
Comments