네이티브 MESSAGING 앱에서와 같이 ListView의 개별 행에 색을 지정할 수 있습니까? 단순히 행을 교대로 반복하고 싶지는 않지만 메시지 행에 메시지의 사용자 이름에 따라 다른 배경색이있는 MESSAGING 앱에서 사용 된 형식을 복사하고 싶습니다.MESSAGING 앱에서와 같이 ListView의 개별 행에 색상 코드를 지정하는 방법은 무엇입니까?
FYI : 현재 SimpleAdapter를 확장하고 getView (int position, View convertView, ViewGroup parent)를 재정의하고 있습니다. 이 방법에서는 위치를 기반으로 배경색을 설정하는 방법을 '위치 강조 표시'목록과 비교하여 계산하려고합니다. 목록을 업데이트 할 때마다이를 유지하지만, 지금까지는 처음으로 목록 만 작업하고 있습니다. 업데이트됩니다. 클래스에서
는 SimpleAdapter를 오버라이드 (override) :
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
if(highlightPositions.contains(new Integer(position))){
view.setBackgroundColor(highlightColor);
}
else{
view.setBackgroundColor(normalColor);
}
return view;
}
당신이 제공 할 수있는 지침을 주셔서 감사합니다!
예, 현재 진행중인 작업입니다. 문제는 각 업데이트에서 getView() 메서드가 호출되는 방식이 명확하지 않고 현재 원하는 목록의 위치에서 뷰의 배경색을 설정하는 것이 아니라 모두 동일한 값으로 설정하는 것입니다. 색깔. – JohnRock
@johnrock : 디버거에서 getView() 메소드를 단계별로 실행하고 정확히 무슨 일이 일어나는지 확인할 수 있습니까? 그들은 모두 강조 색상으로 설정 되나요, 아니면 모두 정상 색상으로 설정됩니까? –