2016-03-22 32 views
0
  • ,第一個ArrayList包含默認值消除新的ArrayList evertime的Web服務調用我有3 ArrayList的

  • 第二ArrayList包含從Web服務

  • 我比較2個的ArrayList值的值,並從兩個列表中獲得不常見的值,並用不常見的列表填充第三個列表列表。

  • 但我的問題是,每次Web服務調用時,列表一次又一次地填充。

  • 代碼:

      arraylist1 = new ArrayList<HashMap<String, String>>(); 
    
          for (int i = 0; i < arrayListNew.size(); i++) { 
    
           idNew = arrayListNew.get(i).get("id"); 
    
           if(idNew.contains(arraylist.get(i).get("id"))) 
           { 
            newAlert = true; 
            return; 
    
           }else { 
            NewList = new HashMap<String, String>(); 
    
            NewList.put("id", idNew); 
    
            arraylist1.add(NewList); 
    
            arraylist.addAll(arraylist1); 
    
            listAdapter = new ListViewAdapter(getApplicationContext(), arraylist); 
    
            lvTitle.setAdapter(listAdapter); 
    
            listAdapter.show(i); 
    
            generateNotification(); 
    
           } 
    
           arraylist1.clear(); 
    
          } 
    
  • 任何人都可以建議我在哪裏,我應該清楚的ArrayList即arraylist1每次或刪除以前的值

+0

這裏應該很清楚了嗎? – tiger

+0

我知道如何清除,但在哪裏清除? – tiger

回答

0

這是一個有點混亂,但我想我看到你的問題。你只檢查arrayList的一個位置,而不是檢查所有的arrayList。我認爲這可能是正確的解決方案,雖然也許我沒有很好地理解你的問題:

newAlert = false 

for (int j=0; i < arrayListNew.size(); i++)){ 

    if(!idNew.contains(arraylist.get(i).get("id"))) 
       { 
        newAlert = true; 
        return; 
       } 


} 

if(newAlert){ 

NewList = new HashMap<String, String>(); 

        NewList.put("id", idNew); 



        arraylist1.add(NewList); 


        arraylist.addAll(arraylist1); 

        listAdapter = new ListViewAdapter(getApplicationContext(), arraylist); 

        lvTitle.setAdapter(listAdapter); 

        listAdapter.show(i); 

        generateNotification(); 


} 
0
try it..Clear your list before for loop 

arraylist1 = new ArrayList<HashMap<String, String>>(); 
     arraylist1.clear(); 

       for (int i = 0; i < arrayListNew.size(); i++) { 

        idNew = arrayListNew.get(i).get("id"); 

        if(idNew.contains(arraylist.get(i).get("id"))) 
        { 
         newAlert = true; 
         return; 

        }else { 
         NewList = new HashMap<String, String>(); 

         NewList.put("id", idNew); 

         arraylist1.add(NewList); 

         arraylist.addAll(arraylist1); 

         listAdapter = new ListViewAdapter(getApplicationContext(), arraylist); 

         lvTitle.setAdapter(listAdapter); 

         listAdapter.show(i); 

         generateNotification(); 

        } 



       }