투케이2K

579. (Android/Java) 안드로이드 : 리스트 뷰 특정 포지션 (listview position) 배경 색상 변경 본문

Android

579. (Android/Java) 안드로이드 : 리스트 뷰 특정 포지션 (listview position) 배경 색상 변경

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

[개발 환경 설정]

개발 툴 : AndroidStudio

 

[소스 코드]

 

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


                // [어댑터 지정]
                //ArrayAdapter adapter = new ArrayAdapter(mContext, android.R.layout.simple_list_item_1, errorArray); // [기본]
                ArrayAdapter adapter = new ArrayAdapter(mContext, android.R.layout.simple_list_item_1, errorArray){ // [텍스트 색상 변경]
                    @NonNull @Override
                    public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
                        View view = super.getView(position, convertView, parent);
                        try {
                            TextView textView = (TextView)view.findViewById(android.R.id.text1);
                            if (detail == true){ // [디테일 활성]

                                // [포지션이 디테일 카운트 보다 작은 경우]
                                if (position < detailCount){
                                    textView.setBackgroundColor(Color.parseColor("#dddddd"));
                                }

                            }
                        }
                        catch (Exception e){
                            e.printStackTrace();
                        }
                        return view;
                    }
                };
                listView.setAdapter(adapter);

 


 

반응형
Comments