簡體   English   中英

Android:無法清除ArrayList

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM