我所做的是創建了一個ArrayList,它存儲所選項目的所有位置,並在點擊時切換背景顏色。
以我適配器我定義:
public ArrayList<Integer> selectedIds = new ArrayList<Integer>();
以下方法:
public void toggleSelected(Integer position)
{
if(selectedIds.contains(position))
{
selectedIds.remove(position);
}
else
{
selectedIds.add(position);
}
}
其中就將此\從該ArrayList
移除項以我getView方法:
if (selectedIds.contains(position)) {
convertView.setSelected(true);
convertView.setPressed(true);
convertView.setBackgroundColor(Color.parseColor("#FF9912"));
}
else
{
convertView.setSelected(false);
convertView.setPressed(false);
convertView.setBackgroundColor(Color.parseColor("#000000"));
}
這將檢查該位置是否存儲在ArrayList中。如果是,則將其繪製爲選定的。如果不是,則相反。
所有剩下的只有OnItemClick聽者,我說:
((YourAdapter)list.getAdapter()).toggleSelected(new Integer(position));
當YourAdapter是你的ListView
希望的適配器,這可以幫助任何人,因爲它是一個通用的答案:)
感謝eric.itzhak這裏:How to change background color of selected items in ListView?
請先告訴你的要求。我們無法猜測你需要什麼? – Sush
@sush我需要一個列表項來選擇和取消選定的鏈接, – Goofy
然後使用該教程只有吶。爲何在這裏? – Sush