我有兩個類,HomeActivity和CustomListAdapter.THe HomeActivity類擴展一個活動,然後更新一個listview.I填充數據到ListView使用CustomListAdapter類擴展BaseAsapter.Everything工作正常,但我想要在後臺任務中加載數據。當我這樣做時,會出現一個錯誤。 這是我對AyncTask類的onPostExecute的實現。從AsyncTask更新ListView
@Override
protected void onPostExecute(HomeActivity Params){
progressDialog.dismiss();
runOnUiThread(new Runnable(){
public void run(){
final ListView lv1 = (ListView) findViewById(R.id.listings);
lv1.setAdapter(new CustomListAdapter(this, shares));
}
});
}
我得到一個錯誤,告訴我,我應該改變CustomListAdapter.But構造當我改變它,一切順心。 我曾經嘗試這樣做太失敗
final ListView lv1 = (ListView) findViewById(R.id.listings);
lv1.setAdapter(new CustomListAdapter(this, shares));
股是從Web服務數據的ArrayList。 這裏是在CustomListAdapter類
public CustomListAdapter(Context context, ArrayList listData) {
this.listData = listData;
layoutInflater = LayoutInflater.from(context);
}
怎麼能去了解它的構造?如何將高度讚賞。
據我所知,你不需要在runOnUiThreas的runnable中運行你的UI代碼,因爲它已經在onPostExecute(onPostExecute在UI線程上運行) – Andy