2010-08-22 5 views
1

2 개의 테이블에서 listview를 채우고 싶습니다. 아무도 내가 이걸 어떻게 얻을 수 있는지 아니? 현재 내가 좋아하는 외모를 가지고있는하지만, 그것은 단지 하나 개의 어댑터로 작동합니다여러 테이블의 목록보기?

private void populate() { 
     todoCursor = dbNotes.getTodoKey(); 
     startManagingCursor(todoCursor); 
     todo = 
      new SimpleCursorAdapter(
       this, 
       R.layout.todo_list, 
       todoCursor, 
       new String[] {databaseHelper.DB_COLUMN_TODO_KEYS}, 
       new int[] {R.id.textTodo}); 
     setListAdapter(todo); 
    } 

    private void fillData(int i) { 
     Cursor notesCursor = dbNotes.retrieveAll(i, "=0"); 
     startManagingCursor(notesCursor); 
     notes = 
      new SimpleCursorAdapter(
       this, 
       R.layout.list_item, 
       notesCursor, 
       new String[] {databaseHelper.DB_COLUMN_SUBJECT, databaseHelper.DB_COLUMN_TIME, databaseHelper.DB_COLUMN_MESSAGE, databaseHelper.DB_COLUMN_DOW, databaseHelper.DB_COLUMN_MD}, 
       new int[] {R.id.text1, R.id.text2, R.id.text3, R.id.textDay, R.id.textDayOfWeek}); 
     setListAdapter(notes); 
    } 
+0

대신 Android의 ContactsProvider에서와 같이 테이블을 조인하고 쿼리하는보기를 만들 수 있습니다. http://androidxref.com/4.4.4_r1/xref/packages/providers/ContactsProvider/src/com/android/providers /contacts/ContactsDatabaseHelper.java#Views – faizal

답변

3

내가 2 개 테이블에서 목록보기를 채우는 싶습니다. 아무도 내가 이걸 어떻게 얻을 수 있는지 아니?

"2 개 테이블의 목록 뷰 채우기"란 의미를 정확히 설명하지 않았습니다.

그래서, 당신의 정의에 따라, 당신은 할 수 :

  • 하나의 어댑터로 두 개의 결과 집합 내 MergeCursor 연결하는 어댑터를 사용

    • 은 두 테이블에서 단일 결과 집합을 만들기 위해 join를 사용하여
    • 당신이 다음

    이 있습니다 목록에 넣어 당신의 서로 다른 부분에서 하나의 MatrixCursor를 조립 아마 다른 솔루션들도 마찬가지입니다.

  • 관련 문제