2010-01-22 2 views
2

리소스에 하나 이상의 db 열을 바인딩하는 방법이 있는지 궁금합니다. 더 많은 정보를 R.id.secondLine에 바인딩 한 다음 난이도 열만 바인딩해야합니다. 그러나 나는 이것에 관해 어떻게 가야하는지 확신 할 수 없다? 나는 현재 SimpleCursorAdapter를 서브 클래 싱하고있다. 다른 어댑터를 서브 클래스해야합니까? 그렇다면 어떻게해야합니까?더 많은 열을 하나의 텍스트 뷰에 바인딩하는 방법

Cursor activityHikes = mDbAdapter.fetchAllHikes(false); 
    startManagingCursor(activityHikes); 

    String[] from = new String[] { ActivityHike.NAME, ActivityHike.DIFFICULTY, ActivityHike.THUMBNAIL}; 

    int[] to = new int[]{R.id.mainText, R.id.secondLine, R.id.icon}; 

    HikeAdapter hikes = new HikeAdapter(this, R.layout.hike_row, activityHikes, from, to); 
    ListView list = (ListView) this.findViewById(R.id.hikelist); 
    list.setAdapter(hikes); 

덕분에이 링크는 나를 너무 alot을 도움이 같은 문제를 가지고있는 사람들을위한

. Android: Binding data from a database to a CheckBox in a ListView?

답변

3

SimpleCursorAdapter을 사용하여보기에 둘 이상의 열을 바인딩 할 수 없다고 생각합니다. 가장 좋은 방법은 CursorAdapter을 서브 클래스 화하고 bindView을 구현하여 텍스트 필드에 원하는 특수 서식을 적용하는 것입니다.

+0

도움 주셔서 감사합니다. 그것은 위대한 일을했습니다! – Jared

0

저는 여러분 자신의 ViewBinder를 구현하여 SimpleCursorAdapter에 전달할 것입니다. 이렇게하면 각보기의 값을 설정할 때 커서에 대한 전체 액세스 권한이 제공됩니다.

관련 문제