2012-05-11 49 views
0

帶有移動主題的Spark List具有某種奇怪的行爲,我需要禁用它以支持上下文菜單。Flex Spark List LabelItemRenderer當其他列表項目進入關閉狀態時移除選擇

該列表的默認行爲是,當另一個項目進入選定狀態時,項目只會丟失它的選擇顏色。這意味着,當用戶在項目上保持關閉狀態時(通過鼠標向下或點擊並按住),兩個項目顯示選擇顏色,仍然選擇的顏色,以及當前狀態爲關閉狀態。

我需要的是,一旦其他項目進入停機狀態,所選項目會立即失去其選擇顏色/狀態,因此基本上只要進入停機狀態就需要設置選擇狀態。

爲什麼我需要這個你可能會問,讓我解釋一下; 我的列表需要一個上下文菜單,它將在長按下打開。而且由於長按不包括觸發長按事件之前的鼠標上移事件,該項目將不會被選中,因此其他項目不會失去其選擇顏色。

我的itemRenderer是一個用AS編寫的標準LabelItemRenderer,在ItemRenderer而不是父組件中改變這個功能會很好。

有沒有人有線索如何做到這一點?

+0

我不認爲Flex中有一個「長按」事件,是嗎?你在使用第三個paty手勢/觸摸庫嗎?還是你推出自己的? – JeffryHouser

+0

我正在使用org.gestouch庫來添加長按手勢。工作得很好。 – AlBirdie

回答

1

由於您使用的是LabelItemRenderer,我假設您正在構建移動應用程序。這是一種猜測;但是...

您可以向itemRenderer添加一個長按事件處理程序,並在事件處理程序中更改itemRenderer的selected屬性?

雖然我不確定itemRenderer中的這樣的改變是否也會改變實際的List。理論上它不應該。

除此之外,如果您的長按事件從itemRenderer中冒出來,您可以在List類上聆聽它,並在彈出新菜單之前更改selectedItem。

+0

是的,這是一個移動應用程序。你的建議聽起來很有希望。不過,我必須等到下一個星期一才能嘗試。下週將盡快報到! – AlBirdie

+0

按預期工作。謝了哥們! – AlBirdie

相關問題