[英]Strange ListView selection behavior on Android
有一個擴展ListActivity
的活動。 該列表由擴展BaseAdapter
的自定義適配器備份。
getListView().setFocusable(true);
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
我在onPrepareOptionsMenu()
執行一個簡單的(getSelectedItemPosition() == ListView.INVALID_POSITION)
檢查以禁用需要選擇項目的項目。
現在,我在啟動活動后執行的操作(操作發生在模擬器下,版本1.1),它看起來像:
為什么這些(3,4)事情不斷發生在我身上? :) TIA。
依賴ListView
上的selectedItemPosition
可能是一種危險的方法。 根據我的經驗,如果List失去焦點(通過單擊其他內容), selectedItemPosition
將設置為INVALID_POSITION
。
基本上,如果您的項目沒有橙色的“突出顯示”外觀,則指望selectedItemPosition
為null。
作為替代方案,您可能希望通過覆蓋onItemClick
和onItemSelection
方法並保存所選項目的索引來記住所選項目,然后使用它來控制菜單選項的可用性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.