我想知道這兩種方法在做什麼?我試圖在我的RecyclerView上設置它,但它似乎沒有做任何事情。recyclerview的setLayoutFrozen(boolean)和setHasFixedSize(boolean)目的
任何想法?
我想知道這兩種方法在做什麼?我試圖在我的RecyclerView上設置它,但它似乎沒有做任何事情。recyclerview的setLayoutFrozen(boolean)和setHasFixedSize(boolean)目的
任何想法?
setLayoutFrozen(true)
防止對UI進行任何更新,例如更改圖像,甚至暫停佈局上的事件(如滾動)。這也阻止了兒童視圖被更新。
當事件停止時,它們不會排隊並被刪除。它基本上阻止了包括適配器在內的所有事情並返回視圖狀態等事件如果您有多個視圖分層並希望確保用戶和任何數據更新不會影響該區域,則可能會有用,比如在彈出式圖標後面的摺疊/部分可見視圖中。
setLayoutFrozen(false)
基本上可以認爲是在凍結之後調用的RecyclerViews的onResume()。
hasFixedSize()
是一個返回值,所以不是你可以設置的東西。只有適配器不會更改RecyclerView的大小,即使適配器有新內容,它也會返回true。即固定大小屏幕卡型視圖不允許滾動