怎么在Android應用中利用ListView實現(xiàn)一個選擇模式?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
ListView 定義了choiceMode屬性,描述是這樣的:
用于為視圖定義選擇行為。默認情況下,列表時沒有任何選擇行為的。如果把choiceMode設置為singleChoice,列表允許有一個列表項處于被選狀態(tài)。如果把choiceMode設置為multipleChoice,那么列表允許有任意數(shù)量的列表項處于被選狀態(tài)
ListView以某種方式通過Checkable接口處理視圖的選擇狀態(tài),LIstView源碼中有這么一段:
if (mChoiceMode != CHOICE_MODE_NONE && mCheckStates != null) { if (child instanceof Checkable) { ((Checkable) child).setChecked(mCheckStates.get(position)); } else if (getContext().getApplicationInfo().targetSdkVersion >= android.os.Build.VERSION_CODES.HONEYCOMB) { child.setActivated(mCheckStates.get(position)); } }