在我的主要活動中,我獲得了一個名爲data的數組列表。我打電話給一個asynctask,並做一些東西,給了我一個不同的arraylist稱爲值。未添加到arraylist中的對象(asynctask)
在asynctask的post執行中,我想使用'values'中的項將一些對象添加到'data'中。但是,在調試時我注意到這些對象不會被添加。
public class MainActivity extends Activity
{
ArrayList<DataItem> data;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
data = new ArrayList<DataItem>();
update();
}
public void update()
{
AsyncCallAWS thisTask = new AsyncCallAWS();
thisTask.execute();
}
private class AsyncCallAWS extends AsyncTask<String, Void, Void>
{
ArrayList<String> values = new ArrayList<String>();
protected void onPostExecute(Void result)
{
Log.i(TAG, "onPostExecute");
DataItem d;
for(String s : values)
{
d = new DataItem();
d.setValue(s);
d.setDataStreamName("test");
data.add(d);
}
}
//code to fill array
我猜這是因爲我嘗試從asynctask添加項目? Idk如何解決這個問題,我需要列表視圖的數據列表。
你確定有什麼值嗎? – njzk2
定義「不要添加」 – njzk2
在輸出項目之前和之後添加一些日誌記錄以確保它們實際上保存着您認爲它們的值。此外,您可能將不得不分享更多的代碼。爲了解決你的擔憂,不要簡單地在AsyncTask中添加語句不會導致它們不被添加。 – FoamyGuy