2012-11-20 51 views
4

我的問題是這樣的: 是否有可能將一個可繪製資源應用於ListView中的TextView,這使得它保持其背景色,在用戶舉起他/她的手指F表示TextView後?Android ListView持久背景

考慮:

  1. 用戶在ListView選擇一個項目
  2. 列表項突出
  3. 用戶移除他/她的手指離開項目
  4. 該項目不再被突出顯示

我的問題是,是否有可能使允許對象在步驟4仍然突出?我目前正在使用一個狀態列表drawable作爲我的列表項目。 我試過

android:state_focused="true"

android:state_selected="true"

android:state_check="true"

感謝提前:)

編輯

解決。我通過java代碼實現了這一點。對於那些感興趣的人,我做了以下操作:

聲明一個整數變量'previous'來存儲先前的索引,從第一項開始,並強制通過setBackground()突出顯示它。

然後,在onItemClickListener的名單,我只是清除以前項目的亮點,突出的電流,並設置「以前」到當前選定項的索引。

不知道我怎麼沒想到這一點的xD之前,我通常在問題解決好。

發生在我們所有的在某些時候我想:P

回答

1

雖然你的方法是有效的,它的代碼的額外碎片,我想避免的。步驟來實現這一如下:

使列表視圖的選擇模式singleChoiceMode。

使此選擇

 
<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <item android:drawable="@color/color_light_blue_for_selected_item" android:state_checked="true"/> 

</selector> 

將此設爲您的列表項的背景。

它應該工作。

+0

正是我在找的東西。 我的方法_did_工作,但我更願意在xml中定義應用程序的視覺效果。 所以謝謝:) –