2012-05-27 7 views
0

simplecursoradapter로 만든 목록의 각 항목에 색상을 추가하는 가장 좋은 방법은 무엇이 궁금한가요? 다음 코드는 SimpleCursorAdapter를 사용하여 listview를 만들었지 만 텍스트의 색상은 모두 기본 회색입니다. R.id.rowTitle 및 R.id.rowName의 텍스트 색상을 날짜에 따라 다른 색상으로 변경하고 싶습니다.간단한 커서 어댑터 목록보기에 색상 추가

Cursor cursor = database.getTitles(); 
    startManagingCursor(cursor); 

    String[] columns = { SQLController.TITLE, 
    SQLController.COLUMN_NAME, SQLController.DATE, 
    }; 

    int to[] = {R.id.rowTitle, R.id.rowName,R.id.rowDate}; 

    SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, 
      R.layout.rows, cursor, columns, to); 

    this.setListAdapter(adapter); 
+0

를 사용하여 각 텍스트 뷰는'Holder' 당신의 각 행과 마지막의 getView'에서()'방식을 유지하기 'SimpleCursorAdapter'에서 수동으로'extends' 할 CursorAdapterClass는 원하는대로 색상을 설정합니다. 여기에 내 코드를 추가 할 수 있지만 라인이 조금 더 있습니다. – Sajmon

답변

1

다른 항목의 색상을 다양하게 지정하려는 경우 맞춤 행 레이아웃 만 할 수 있습니다.

그러나 데이터의 내용을 기반으로 설정하기 때문에 사용자 정의 어댑터 (Simpl eCursorAdapter 확장)를 만들고 if 문을 넣어 날짜를 확인하고 색상을 설정해야합니다. 당신은`SimpleCursorAdapter``에서 extends`는 다음 디자인 패턴을 생성합니다 클래스를 생성해야하므로 UFF textview.setTextColor(color_ref);

Tutorial

+0

커서 어댑터를 확장하는 사용자 정의 클래스를 만든다면 간단한 커서 어댑터 대신 해당 클래스를 호출할까요? – mma1480

+0

감사합니다. 지금 받으십시오. 나는 그것을하기위한 방법에 관해서 정말로 혼란스러워하도록 다른 수업을 만들지 않고 그것을하려고 노력했다. – mma1480

관련 문제