如何在Android 中選擇後保持ListView 項目突出顯示
在Android 中,維護ListView 項目的選定狀態可以透過提供以下功能來增強使用者體驗當前選擇的清晰視覺指示器。然而,有時開發人員會遇到這樣的問題:所選項目在某些事件(例如捲動或與 ListView 進一步互動)後失去突出顯示效果。
挑戰
開發人員最近在 XML 佈局中使用兩個 ListView 時遇到了這個問題。一個 ListView 顯示客戶端列表,另一個顯示有關所選客戶端的詳細資訊。當在第一個 ListView 中選擇客戶時,開發人員希望保留其突出顯示狀態,同時使用相應的詳細資訊更新第二個 ListView。但是,突出顯示並未被保留。
解決方案
要解決此問題,有多種方法:
1.使用XML屬性:
在XML佈局中,將以下屬性套用到需要保留所選項目突出顯示的ListView:
android:choiceMode="singleChoice" android:listSelector="@drawable/list_selector"
將@drawable/list_selector替換為自訂選擇器可繪製指定所需的突出顯示顏色。
2.程式設計方法:
或者,使用以下程式碼以程式設計方式設定ListView 的選擇模式和反白顯示顏色:
listView.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE); listView.setSelector(getResources().getDrawable(R.drawable.list_selector));
3.避免視圖操作:
需要注意的是,由於ListView 中視圖的臨時性質,直接透過事件偵聽器操作視圖可能不可靠。捲動或發生其他事件後,對視圖背景所做的變更可能不會持續。
以上是如何在 Android 中選擇後保持 ListView 項目突出顯示?的詳細內容。更多資訊請關注PHP中文網其他相關文章!