2011-11-19 67 views
2

在我的应用程序的开始我显示一个对话框。 在这个对话框中我有2个spinners。如果我更改第一个微调器的条目,应用程序将加载JSON文件并将其解析为数据库。然后,微调器将被保存JSON文件的数据库中的SimpleCursorAdapter填充。问题是,当我更改第一个微调器时,它总是加载上次更改微调器时保存的数据库。从数据库Android填充微调器需要旧条目

下面是来自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