1
我有一個顯示公司列表的數組列表。這些公司中的每一個都有與之相關的城鎮名稱。我所做的是,我爲每個城鎮名稱創建按鈕,以便當我點擊任何城鎮名稱時,應該過濾ArrayList,並且只應顯示具有該城鎮名稱的公司。ArrayList過濾不起作用:Android
我創建如按鈕,
stringList.add(tempList.get(n).getTownName());
btnTag.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, 60));
btnTag.setText(stringList.get(k));
btnTag.setBackgroundResource(R.drawable.alpha_button_selector);
btnTag.setClickable(true);
townLayout.addView(btnTag);
在點擊我打電話的方法來篩選數據的按鈕,
btnTag.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
locationFilter(stringList,length);
}
});
用於過濾的數據,我創建一個新的ArrayList到存儲過濾的數據,如
ArrayList<CompanySearchResult> secondList = new ArrayList<CompanySearchResult>();
for (CompanySearchResult a : tempList) {
for (int k = 0; k < length; k++) {
if (a.getTownName.equalsIgnoreCase(stringList.get(k))) {
secondList.add(a);
}
}
}
tempList.clear();
tempList.addAll(secondList);
我實際上試圖做的是過濾按鈕被點擊時根據城鎮名稱的臨時列表。
我對此進行了研究,但無法解決問題。任何人都可以告訴我我做錯了什麼,如何過濾列表。
你的哪個列表實際上填充了listview? TempList或其他列表? –
tempList填充視圖。 – devgeek
然後在做完addAll後你有沒有叫做notifyDataSetChanged()方法? –