투케이2K

314. (kotlin/코틀린) 안드로이드 : 리스트 뷰 특정 포지션 (listview position) 배경 색상 변경 본문

Kotlin

314. (kotlin/코틀린) 안드로이드 : 리스트 뷰 특정 포지션 (listview position) 배경 색상 변경

투케이2K 2023. 6. 17. 10:43

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Kotlin

 

[소스 코드]

 

                    // [UI 생성 실시]
                    val listView = ListView(mContext)
                    listView.setPadding(30, 30, 30, 30)
                    listView.setBackgroundColor(Color.WHITE)
                    //listView.setSelector(R.color.purple_200);
                    listView.divider = ColorDrawable(Color.parseColor("#444444"))
                    listView.dividerHeight = 1
                    //listView.setCacheColorHint(Color.TRANSPARENT);


                    // [어댑터 지정]
                    //ArrayAdapter adapter = new ArrayAdapter(mContext, android.R.layout.simple_list_item_1, errorArray); // [기본]
                    val adapter: ArrayAdapter<*> = object : ArrayAdapter<Any?>(mContext!!, android.R.layout.simple_list_item_1, errorArray!!) {

                        // [텍스트 색상 변경]
                        override fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
                            val view = super.getView(position, convertView, parent)
                            try {
                                val textView = view.findViewById<View>(android.R.id.text1) as TextView
                                if (detail == true) { // [디테일 활성]

                                    // [포지션이 디테일 카운트 보다 작은 경우]
                                    if (position < detailCount) {
                                        textView.setBackgroundColor(Color.parseColor("#dddddd"))
                                    }
                                }
                            } catch (e: java.lang.Exception) {
                                e.printStackTrace()
                            }
                            return view
                        }
                    }
                    listView.adapter = adapter

 

반응형
Comments