2016-09-20 122 views
-3

我需要添加ArrayList中的所有項目只添加最後一個項目在ArrayList中兩次

logcat的:

E/BUSINESS_STR: fuflfilled 
E/itemsaArrayList: [[email protected], [email protected]] 

代碼:

if(BUSINESS_STR != null){ 

    Log.e("BUSINESS_STR", "" + BUSINESS_STR); 

    CommonListItems commonListItems = new CommonListItems(); 


    for(int i = 0; i <= 1 ; i++) { 
     commonListItems.setName("My Business"); 
     commonListItems.setName("Search Business"); 

     commonListItems.setImage(String.valueOf(R.drawable.business_icon)); 
     commonListItems.setImage(String.valueOf(R.drawable.search_business_icon)); 

     itemsaArrayList.add(commonListItems); 
    } 

    tvTitle.setText("Business"); 
} 

最後它被添加最後一項"Search Business"兩次。我需要先添加"My Business",然後再添加"Search Business"

+0

你能解釋更多嗎?我沒有得到你的觀點 – PriyankaChauhan

+0

@pcpriyanka arraylist在for循環中添加了兩次最後一項。我沒有收到我的業務。 – UserAgr

+0

爲什麼你使用'for(int i = 0; i <= 1; i ++){...}' – PriyankaChauhan

回答

1

for循環刪除:

commonListItems.setName("My Business"); 
commonListItems.setImage(String.valueOf(R.drawable.business_icon)); 
itemsaArrayList.add(commonListItems); 

commonListItems = new CommonListItems(); 

commonListItems.setName("Search Business"); 
commonListItems.setImage(String.valueOf(R.drawable.search_business_icon)); 
itemsaArrayList.add(commonListItems); 
+0

現在它也是添加最後一個項目搜索業務twice.any建議。 – UserAgr

+0

在添加搜索業務之前創建一個新的CommonListItem:commonListItems = new CommonListItems(); – porgo

+0

並記住刪除for循環 – porgo

0

你在你的列表中添加的CommonListItems相同的實例 - 兩次。 刪除for循環並創建CommonListItems類型的兩個對象。

CommonListItems commonListItem1 = new CommonListItems(); 
commonListItem1.setName("My Business"); 
commonListItem1.setImage(String.valueOf(R.drawable.business_icon)); 

CommonListItems commonListItem2 = new CommonListItems(); 
commonListItem2.setName("Search Business"); 
commonListItem2.setImage(String.valueOf(R.drawable.search_business_icon)); 

itemsaArrayList.add(commonListItem1); 
itemsaArrayList.add(commonListItem2); 
1

添加

commonListItems = new CommonListItems(); 

的第一條語句循環。現在你的代碼會是這樣的

if(BUSINESS_STR != null){ 

Log.e("BUSINESS_STR", "" + BUSINESS_STR); 

CommonListItems commonListItems; 


for(int i = 0; i <= 1 ; i++) { 
    commonListItems = new CommonListItems(); 
    if(i==0){ 
     commonListItems.setName("My Business" + i); 
     commonListItems.setImage(String.valueOf(R.drawable.business_icon)); 
    } else { 
     commonListItems.setName("Search Business" + i); 
     commonListItems.setImage(String.valueOf(R.drawable.search_business_icon)); 
    } 

    itemsaArrayList.add(commonListItems); 
} 

tvTitle.setText("Business"); 
} 
+0

它不工作只添加最後一個項目的兩倍 – UserAgr

+0

@UserAgr你不改變數組裏的arraylist項目for循環這就是爲什麼你能夠看到相同的項目兩次。 –

+0

我改變了我的回答 –

相關問題