목록보기에서 한 항목의 텍스트 색상 만 변경하고 싶습니다.
이 변경은 실행중인 asynctask의 결과에 의해 트리거됩니다.
지금까지 Google에서 검색 한 결과 어댑터의 getView () 함수를 덮어 쓰는 것이었지만,이 방법은 색상을 지정할 행의 ID를 전역 변수에 유지해야하기 때문에 다소 어렵습니다. getView ()에 의해 액세스됩니다.
이벤트가 발생할 때 목록보기에서 항목의 텍스트 색상을 설정하는 다른 방법이 있습니까?
편집하다
이 방법으로 listview를 만듭니다.
myListView = (ListView) findViewById(R.id.listView);
listAdapter = new ArrayAdapter<String>(this, R.layout.simplerow);
listAdapter.add("test");
myListView.setAdapter(listAdapter);
목록 항목에 대한 색상을 설정하려면 확실히 당신은 오버라이드 (override) 할 필요가 getView()
의 방법을 Adapter
. 다음은 항목의 ID를 사용하지 않고 목록 항목의 색상을 업데이트하는 간단한 예입니다.
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.simplerow) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
if (position % 2 == 0) { //Place the condition where you want to change the item color.
view.setBackgroundColor(Color.GRAY);
} else {
//Setting to default color.
view.setBackgroundColor(Color.WHITE);
}
return view;
}
};
위의 예에서 짝수 위치에있는 모든 목록 항목은 GREY
색상이되고 다른 항목은 WHITE
색상이됩니다. 우리는 getView()
. 참고로 여기를 클릭하십시오
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다