2016-06-09 28 views
1

我有一個ListView的選擇模式設置爲單選。我希望選中的項目(如果有的話)突出顯示(即具有與其餘項目不同顏色的背景)。Android的listSelector與設置列表項背景

我一直在依靠設置列表選擇器來實現此目的。但是,我發現,當我的ListView位於選項卡上(即包含在TabHost中)時,如果我切換到另一個選項卡並再次返回到包含ListView的選項卡,選定的項目將不再在UI中突出顯示,即使ListView上的getCheckedItemPosition()仍然返回與以前相同的值。

這讓我覺得我誤解了列表選擇器的用途。

另一方面,我發現如果將用於我的列表項目的佈局資源更改爲根據是否設置了android:state_activated標誌,背景顏色會發生變化的佈局資源,我可以實現所需的突出顯示行爲,並選擇突出顯示保留在標籤開關之間。

所以我想我的問題是,如果不指示選定的項目,列表選擇器的目的是什麼?這不是爲了「持久」突出顯示嗎?

回答

0
  1. 機器人:在選擇XML
  2. View.setSelected()
state_selected屬性