2012-05-22 3 views
0

데이터베이스에서 채워지는 회 전자가 있습니다. 이것은 차례대로 웹 서비스에서 가져 오므로 값을 하드 코딩 할 수는 없습니다.SpinnerButtonAdapter ASyncTask를 사용하여 데이터베이스에서 자동 선택

스피너는 사용자가 채우고 저장하는 양식의 일부로, 다시 돌아가서 값을 편집 할 수 있어야하므로 선택한 항목을 기반으로 자동 채우기를 시도하고 있습니다.

문제는 회 전자가 항상 선택되는 것은 아니라는 것입니다. 이것은 asynctask를 사용하여 비동기 적으로 데이터를로드한다는 것이고, 스피너가 아직로드되지 않은 데이터를 검색 할 때까지 발생한다고 생각합니다. 예를 들어 회 전자 아이템 4가 데이터베이스에서 꺼내졌지만 회 전자에 아무것도 표시되지 않은 것을 보여주는 로깅이 있습니다.

로더가 완료되면 목록에서 관련 항목을 채울 수있는 가장 좋은 방법은 무엇입니까?

답변

0

나는, 부하 완료 방법의 말에 전화를 넣어

@Override 
    public void onLoadFinished(Loader<Cursor> aLoader, Cursor aCursor) { 
     int id = aLoader.getId(); 

     Loader<Cursor> cursorLoader = null; 
     switch (id) { 
      mAdapter.swapCursor(aCursor); 
     } 
     if (inEditMode) { 
      fillInValues(); 
     } 
    } 
관련 문제