[英]Android : ArrayList not get cleared
我使用意圖從活動向subacitvity發送arrayList。在從我發送意圖的活動中,arrayList的大小和項目正確。 代碼是
intent.putStringArrayListExtra("IMAGE_URLS", imageUrls);
當我按下按鈕並再次將arraylist發送到subAcitivity時,它將發送正確的arrayList。 但是在subActivity arraylist中,“ image ”包含以前的項目,盡管我每次都用“ new”創建它。
@Override
protected void onResume() {
super.onResume();
load_image();
}
private void load_image() {
**image = new ArrayList<String>();**
Intent intent = getIntent();
Bundle b = intent.getExtras();
image = b.getStringArrayList("IMAGE_URLS");
for (int i = 0; i < image.size(); i++) {
infoLog("URL--->>"+image.get(i));
}
}
我也嘗試image.clear(); 在后退按鈕中。
OnClickListener backButtonListener = new OnClickListener() {
@Override
public void onClick(View v) {
image.clear();
finish();
}
}
它沒有用。我沒有找到原因。 請幫助。謝謝
由b.getStringArrayList(...)
返回的ArrayList
不一定支持 ArrayList
,它很可能是副本。 換句話說,對返回列表的修改不會影響Bundle
中存儲的列表。
我建議你做
b.putStringArrayList("IMAGE_URLS", new ArrayList<String>());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.