StaggeredGridlayoutmanagerを使用してリストをグリッドに、グリッドをリストに変更していますが、ビューを変更しながらアイコンを変更したい、ビューがリストモードの場合はグリッドアイコンを表示し、ビューはグリッドモードでリストを表示したいモード
case R.id.product_grid:
isViewWithCatalog = !isViewWithCatalog;
supportInvalidateOptionsMenu();
rv.setLayoutManager(isViewWithCatalog ? new LinearLayoutManager(this) : new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
rv.setAdapter(rvAdapter);
break;
マイアダプター
@Override
public RecyclerViewHolders onCreateViewHolder(ViewGroup parent, int viewType) {
View layoutView = LayoutInflater.from(parent.getContext()).inflate(isViewWithCatalog ? R.layout.productlistview : R.layout.productgrids, null);
RecyclerViewHolders rcv = new RecyclerViewHolders(layoutView);
return rcv;
}