[英]RecyclerView is not returning all items
我正在制作我的第一個 java android 應用程序,我遇到了 RecyclerView 的一些問題。
我有一個 RecyclerView,每個元素都有一個自定義布局。
我想讓當我按下工具欄按鈕時,RecyclerView 內每個布局元素內的圖像按鈕變為可見或不可見
這是工具欄編輯按鈕代碼:
ArrayList<View> dest=new ArrayList<View>();
recView= findViewById(R.id.newListView);
recView.setItemViewCacheSize(0);
recView.findViewsWithText(dest,getString(R.string.onesingleuserlayout),View.FIND_VIEWS_WITH_CONTENT_DESCRIPTION);
for (View oneUserLayout:dest)
{
oneUserLayout.findViewById(R.id.btnDelete).setVisibility(newVisibility);
oneUserLayout.findViewById(R.id.btnEdit).setVisibility(newVisibility);
}
它隱藏了幾乎所有元素,但不是每一個元素。 顯示的行為正確,有時未顯示的行為不正確。
我認為它與緩存的項目有關。
嘗試更改您的方法,而不是從 RecyclerView 外部調用所有這些 findView 方法,而是在適配器上實現一個方法來更改代表按鈕可見性的 boolean 變量,然后調用 notifyDataSetChanged 以強制布局管理器重繪所有可見元素並且由於所有項目都引用 boolean 變量,因此當重新繪制新項目時,它們將具有新的可見性。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.