2011-11-19 4 views
2

내 응용 프로그램의 시작 부분에 나는 대화 상자를 보여줍니다. 이 대화 상자에는 2 개의 회 전자가 있습니다. 첫 번째 회 전자의 항목을 변경하면 앱에서 JSON 파일을로드하고 데이터베이스로 파싱합니다. 그런 다음 스피너는 JSON 파일이 저장된 데이터베이스의 SimpleCursorAdapter로 채워집니다. 문제는 내가 첫 번째 스피너를 변경할 때 마지막으로 스피너가 변경되었을 때 저장된 데이터베이스를 항상로드한다는 것입니다.안드로이드 채우기 데이터베이스에서 회 전자 오래 된 항목을 가지고

다음은 onItemSelected 방법에서 내 코드입니다 :

final Handler handler = new Handler() { 
    public void handleMessage(Message msg) { 
     dialogs.dismiss(); 
    } 
}; 
Thread checkUpdate = new Thread() { 
    public void run() { 
     klassenListeAktualisieren((new Long(txtBerufID)).toString()); 
     handler.sendEmptyMessage(0); 
    } 
}; 
checkUpdate.start(); 
dbHelperKlasse = new KlassenlisteDbAdapter(myContext); 
dbHelperKlasse.open(); 

Cursor cursor_Names = dbHelperKlasse.fetchAllOfThem(); 
startManagingCursor(cursor_Names); 

String[] columns = new String[] { dbHelperKlasse.KEY_TITLE }; 
int[] to = new int[] { android.R.id.text1 }; 

SimpleCursorAdapter mAdapter = new SimpleCursorAdapter(myContext, android.R.layout.simple_spinner_item,cursor_Names, columns, to); 
mAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
klassenSpinner.setAdapter(mAdapter); 

는 다른 어떤 (코드 등)를 알 필요가 있다면 알려주세요.

당신이에 넣어 새로운 방법을 작성하여 데이터베이스와 어디서 당신 스피너를 채우려면 전화를 가져 오기 : 여기에 같은 문제에 직면 해 모두를 위해

답변

6

는 솔루션입니다.

Handler (내가 Dialog을 종료 한 곳)의 handleMessage() 방법에서이 방법을 호출하십시오. 따라서 회 전자는 이후 으로 채워지고 동안 이 아니라 데이터베이스에 "이전"데이터가 표시됩니다.

+5

+1 다시오고 솔루션을 제공합니다. 항상 감사합니다. – MattC

+1

하지만 솔루션으로 받아 들여주세요 :) (진드기를 클릭하십시오) – Basic

+0

@Basiclife 6 시간이 지나지 않아서 지금까지는 할 수 없었던 ...하지만 나는 ... 6 분 안에 ... – user754730

관련 문제