天天看點

Android使listview(GridView) 擷取焦點時,選中上次失去焦點時的item,而不是就近的item

在電視上開發android應用時,經常要做有二級菜單的應用,例如:

Android使listview(GridView) 擷取焦點時,選中上次失去焦點時的item,而不是就近的item

但當我們按左鍵的時候,左邊listview的最近的item會被選中,即如下效果:

Android使listview(GridView) 擷取焦點時,選中上次失去焦點時的item,而不是就近的item

但是在電視上開發應用的時候,我們希望是上一次被選中的item重新被選中,即希望是“日期和時間”被重新選中。

為了實作這個效果,我之前上網查過很多部落格都沒找到答案,也用過多個投機取巧的方法,這一次我通過檢視源代碼,發現造成這個問題的原因是listview的onfocuschanged方法會尋找最近的item,然後選中他,于是解決這個問題的根治辦法,就是重寫listview的onfocuschanged方法,但不需寫太多代碼,該listview擷取焦點時會選中 上次失去焦點時選中的item。下面是該listview的源代碼,很簡短,不多解釋了。

繼續閱讀