0
我正在致力於AccessibilityService
其中訪問其他應用程序佈局。RecyclerView佈局行爲
例如,如果我有一個自定義佈局,我會精確聚焦處理用於在XML每個視圖,像這樣:
<View
...
android:nextFocusDown="@id/another_view_id"
android:nextFocusLeft="@id/another_view_id"
android:nextFocusRight="@id/another_view_id"
android:nextFocusUp="@id/another_view_id" />
當我使用ListView
我通過發送某些被定義的行爲KEYCODE_DPAD_UP
或KEYCODE_DPAD_DOWN
導入系統,目的是導航佈局。
現在我需要使用RecyclerView
,我無法理解我如何以正確的順序訪問視圖的項目。
我的意思是正確的順序是什麼:
有人可以見識一下佈局順序的工作原理與RecyclerView
的方式嗎?
所以RecyclerViews是圍繞ViewHolder模式構建的。 ListViews允許主要的低效率已被這個補救。然而,這意味着從適配器內管理位置特定的視圖變得更加困難,因爲視圖本身可以很容易地被回收。幸運的是,構建一個RecyclerView需要一個'LayoutManager'。這個LayoutManager將有一個名爲'findViewByPosition()'的方法。這與相應視圖中的'setNextFocus [Direction]()'方法結合使用。 – zgc7009
目前,我的項目體系結構是這樣工作的:有不同種類的佈局(ListView,帶有選項卡的GridView,RecyclerView)和我創建的,我稱之爲每個人的訪問者。他們收到與他們相對應的「AccessibilityEvent」。這意味着,*即*我的'ListView'有一個'ListViewVisitor',它接收項目計數和當前項目選擇索引。 所以,藉助這種體系結構和您的解釋,我無法訪問我的LayoutManager和查找視圖,這不是我如何使其工作。我需要重新思考它。 –