2013-10-04 35 views
0

我有一個列表視圖,其中包含我的People類中的人員的姓名。我希望能夠標記多個人,然後刪除標記爲例。Android:在列表視圖中包含複選框功能

我看了很多問題,看到的答案,我決定我要爲簡單做下面的方式...

我只是選擇的listItem,單擊選項菜單上,我選擇標記。然後,一個監聽器會在person類中設置一個私有布爾值isMarked爲true,然後告訴用戶它被標記了,在listItem旁邊會出現一個勾號。

所以問題是,有沒有辦法讓圖像出現和消失在android中?

編輯:我已經實現了選項菜單,並選擇一個人並選擇標記,然後使他/她的marked變量爲真。我基本需要的是向用戶指示該人被標記的指示符。

+1

爲什麼不使用'android:choiceMode =「multipleChoice」'?我預計這需要花費大約10%的代碼。有關示例應用程序,請參閱https://github.com/commonsguy/cw-omnibus/tree/master/Selection/Checklist。 – CommonsWare

+0

@CommonsWare我看着這個multipleChoice選項。事情是,我不想多次選擇多個項目。只有當我打標時。而且我聽說這將更難實施。 – Ogen

回答

1

如果你想要做的是有對項目狀態的視覺反饋,那麼你可能需要的是ListView中項目的自定義視圖佈局。當列表請求該項目的視圖(getView函數)時,您可以顯示/隱藏圖像以指示項目的狀態。

檢查適配器的文檔,因爲還有一些其他功能與如何完成相關。您不會在問題中顯示如何設置ListView數據的來源。

但是,看起來你想要做的是選擇項目然後對它們執行操作,你應該閱讀大約contextual action bar(參見'使用上下文操作欄')。 menu's page中的更多信息,特別是'在ListView或GridView'部分中啓用批處理上下文操作。逐一選擇項目並使用菜單標記它們看起來像是一種非機器人的做事方式。

+0

frozenkoi解決方案能夠很好地控制從數據角度和相應的getView集背景中控制的所有內容。在適配器中更多地實現UI行爲,而不是在listview中設置屬性 –

相關問題