0

나는 꽤 표준적인 콘텐츠 제공자 + cursorAdapter + gridview 설정을 가지고있다. 문제는 내 애플 리케이션에서 하나의 특정 gridview에 2 개의 셀을 추가해야한다는 것입니다. 내 고객의 디자인에는 그리드의 2 개의 최종 셀이 "다른 카테고리에서 추가"와 "새로 만들기"로되어 있습니다. 이것은 카테고리로 구성된 "스티커"입니다. 이러한 세포가 보여서는 안되는 앱의 다른 모든 곳.gridView에 셀을 추가하는 가장 좋은 방법은 무엇입니까?

초기 생각은 어댑터를 수정하여 어댑터를 수정하는 방법을 찾는 것이었지만 방법을 찾을 수 없었습니다.

현재 나의 생각은 sqlite 호출로 데이터에 정보를 "치트"하는 것입니다. 아마도 임시 테이블을 사용하고 있을까요? 나는 충분한 시간을 주어이 일을 할 수있을 것이라고 확신하지만, 나는 총 밑에있다. 그래서 많은 시간을 낭비하는 대신에 이것을 할 수있는 가장 좋은 방법을 아는 사람이 있는지 여기에서 물을 것이라고 생각했다.

TL; DR

CursorAdaptergridView을지지 정적 셀을 추가하는 가장/가장 쉬운 방법은 무엇입니까?


P. 이것은 코드가 필요하다고 생각하지 않은 일반적인 질문이지만, 도움이 될만한 것이 있다면 물어보십시오!

+0

시도는 데이터 DB에서받은 후 데이터를 나열 DB에서 방법을 가져. –

+0

CursorWrapper에서 현재 데이터 커서를 감싸고 해당 메서드를 재정 의하여 커서 데이터 외 두 개의 추가 셀을 반환합니다. – Luksprog

+0

굉장! Haresh의 솔루션으로'MatrixCursor'를 사용하고 MergeCursor를 병합하여 끝내 었습니다. 답변을 게시 할 수있게 되시겠습니까? ^^ –

답변

0

여기에 어떻게 내가 해냈어 : 정적 정보를 추가 할 수

@Override 
public void onLoadFinished(Loader<Cursor> loader, Cursor data) { 

    //add static fields 
    MatrixCursor extras = new MatrixCursor(ObjectDao.getAllCollumns()); 
    extras.addRow(new String[] { "-1","0","0","0","","","","", "Add Existing","1","0","-1","-1" }); 
    extras.addRow(new String[] { "-2","0","0","0","","","","", "Add New","1","0","-1","-2" }); 
    Cursor[] cursors = { data, extras }; 

    if (adapter != null) { 
     adapter.swapCursor(new MergeCursor(cursors)); 
    } 
}