新手在这里。在贴代码之前,先简单说明一下。
我有一个小应用程序,它通过 http 加载数据,将其存储在 SQL Lite 数据库中并显示它 - 设置两个微调器,一个带有名称,一个带有星期几。选择姓名和星期几的组合会显示指示该人当天正在做什么的文本。当组合为选择时,它使用 SharedPreferences 保存。这一切都很好。
我在“刷新”按钮下设置了一个异步任务,以从服务器获取新数据。这会消失并获取数据,重新填充数据库并刷新显示。其中大部分工作正常,除了名称微调器始终重置为第一个条目,就好像它正在以某种方式重新初始化一样。
在调试它时,一切正常,直到异步任务结束在 Looper 类中。我不确定这是做什么的,但看起来像是在清理,并且在那里的某个地方,微调器被重置。
下面是异步任务,精简。
有任何想法吗?
private class GetDataAsyncTask extends AsyncTask<String, Void, String> {
String response = "";
ProgressBar pb=(ProgressBar)findViewById(R.id.progressBar2);
Spinner spinner1 = (Spinner) findViewById( R.id.spinner1 );
@Override
protected void onPreExecute() {
pb.setVisibility(View.VISIBLE);
pb.setMax(100);
super.onPreExecute();
}
@Override
protected String doInBackground(String... mystring) {
//get database
response=get_data_from_PMS();
Load_Arrays_with_stored_data();
return response;
}
@Override
protected void onPostExecute(String result) {
// display new updated consultant list
ArrayAdapter adapter_cons = new ArrayAdapter(whereisthatconsultantActivity.this,android.R.layout.simple_spinner_item, cons_spinner);
spinner1.setAdapter(adapter_cons);
adapter_cons.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
//
spinner1.setSelection(GetDisplayVal("selconspos"));
//
textView2.setText(display_stored_data());
//
pb.setVisibility(View.INVISIBLE);
}
}