1. 說明
在開發(fā)過程中,有時候會有這種需求侦另,就是第一次調(diào)用銀行卡列表接口時秩命,服務(wù)器給你返回一個bankList集合,然后需要自己遍歷 bankList集合獲取到每一個銀行卡號褒傅,然后再去調(diào)用銀行卡號對應(yīng)的bankCode和bankName弃锐,因?yàn)槿绻阋淮蝹鬟f一個銀行卡號,那么就只能返回該銀行卡號對應(yīng)的bankCode和bankName殿托,這種方式不好霹菊,因?yàn)榉?wù)器可能會返回多張銀行卡號,所以需要傳遞的參數(shù)就是把第一個接口返回的每一個銀行卡號用 “,” 隔開,然后給服務(wù)器傳遞旋廷, 服務(wù)器會一次性返回每個銀行卡號對應(yīng)的bankCode和bankName鸠按,傳遞參數(shù)寫法如下:
private String flag = "";
for (int i = 0; i < 2; i++) {
flag += i;
flag += "," ;
}
// 上邊拼接的結(jié)果如下,如果返回1個卡號就是下邊第一個饶碘;如果是兩個卡號就是下邊第二個卡號
// 6**************0,
// 6**************0, 6**************9,
// 這個是每次都截取 flag 的最后一個 "," 逗號字符
if (flag.endsWith(",")){
Log.e("TAG" , "flag: " + flag.substring(0,flag.length()-1)) ;
// 下邊寫:請求服務(wù)器接口目尖,服務(wù)器返回 bankBeen 集合是給 listview填充數(shù)據(jù)
}
這樣寫就可以把 flag 作為參數(shù)傳遞給服務(wù)器。
2. 注意
服務(wù)器返回上邊的數(shù)據(jù)扎运,如果是給 listview或者recyclerview列表填充數(shù)據(jù)瑟曲,剛進(jìn)入界面時候 列表數(shù)據(jù)可能正常,如果點(diǎn)擊某個按鈕豪治,進(jìn)入 另一個Activity洞拨,然后 再點(diǎn)擊返回鍵返回到這個頁面,列表數(shù)據(jù)出現(xiàn)重復(fù)负拟,那么原因就是這個 flag烦衣,這個時候需要做的就是:
在點(diǎn)擊那個按鈕的時候,讓 flag=" "掩浙,就可以了花吟。因?yàn)槟阍谏线呎埱缶W(wǎng)絡(luò)時 定義了flag,然后把flag拼接成用 "," 逗號隔開的字符串涣脚,但是沒有將其置為空字符串示辈,所以可能會導(dǎo)致 從另一個頁面返回到這個列表頁面時候,列表數(shù)據(jù)重復(fù)遣蚀,你要做的就是點(diǎn)擊哪個按鈕返回到列表頁面時數(shù)據(jù)重復(fù)矾麻,就在點(diǎn)擊那個按鈕地方把 flag=" " ,置為空字符串就可以解決數(shù)據(jù)重復(fù)問題了芭梯。