在我的应用程序开始时,我会显示一个对话框。 在这个对话框中,我有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);
如果您需要了解其他任何内容(代码等),请告诉我。
答案 0 :(得分:6)
对于每个面临同样问题的人来说,这就是解决方案:
创建一个新方法,在其中放入对数据库的提取调用以及填充微调器的位置。
之后,在您handleMessage()
的{{1}}方法中(我关闭了我的Handler
),请调用此方法。因此,在写入数据库之后,填充,而在此过程中,然后显示数据库中的“旧”数据。