2012-07-25 4 views
0

intent를 사용하여 활동에서 subacitvity로 arrayList를 전송합니다. 여기에서 intent를 보내는 곳에서 & 개의 arrayList 항목이 올바른 것입니다. 코드는 내가 그것을 올바른 ArrayList의를 전송 subAcitivity하는 ArrayList의를 전송 버튼을 다시 반격 때Android : ArrayList가 지워지지 않음

intent.putStringArrayListExtra("IMAGE_URLS", imageUrls); 

입니다. 그러나 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(); 
       } 
    } 

이유가 없습니다. 이유를 찾지 못했습니다. help.Thanks

답변

0

ArrayListb.getStringArrayList(...)에 의해 반환 필요는 없다 바랍니다ArrayList, 그것은 가장 가능성이 사본의 백업. 즉, 반환 된 목록을 수정해도 Bundle에 저장된 목록에는 영향을주지 않습니다.

난 당신이

b.putStringArrayList("IMAGE_URLS", new ArrayList<String>()); 
을 제안
관련 문제