」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何在 Android 中選擇後保持 ListView 項目突出顯示?

如何在 Android 中選擇後保持 ListView 項目突出顯示?

發佈於2024-12-23
瀏覽:483

How to Keep ListView Items Highlighted After Selection in Android?

如何在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替換為指定所需突出顯示顏色的自訂選擇器drawable。

2.程式設計方法:

或者,使用以下程式碼以程式設計方式設定ListView 的選擇模式和反白顯示顏色:

listView.setChoiceMode(AbsListView.CHOICE_MODE_SINGLE);
listView.setSelector(getResources().getDrawable(R.drawable.list_selector));

3.避免視圖操作:

需要注意的是,由於ListView 中視圖的臨時性質,直接透過事件偵聽器操作視圖可能不可靠。捲動或發生其他事件後,對視圖背景所做的變更可能不會持續。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3