亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問RecyclerView如何切換視圖

請問RecyclerView如何切換視圖

一條小咸魚 2017-05-25 10:20:50
我想使用RecyclerView來動態切換視圖,一個是類似ListView,另一個類似GridView。但兩個加載的布局也不同。效果類似于 文件管理器的 視圖切換。我試了下每次先setLayoutManager,再設置setAdapter,寫了兩個不同Adapter來加載不同視圖。但是有問題,請大家幫忙看下。case?R.id.menu_item_change_view: ????if?(isInGridView)?{ ????????mPhotoRecyclerView.setLayoutManager(new?LinearLayoutManager(getActivity())); ????????updateUI(); ????}?else?{ ????????mPhotoRecyclerView.setLayoutManager(new?GridLayoutManager(getActivity(),?3)); ????????updateGridUI(); ????}private?void?updateUI()?{ ????List<Photo>?photos?=?getPhotos(); ????if?(mAdapter?==?null)?{ ????????mAdapter?=?new?PhotoAdapter(photos); ????????mPhotoRecyclerView.setAdapter(mAdapter); ????}?else?{ ????????mAdapter.setPhotos(photos); ????????mAdapter.notifyDataSetChanged(); ????} }private?void?updateGridUI()?{ ????List<Photo>?photos?=?getPhotos(); ????if?(mGridPhotoAdapter?==?null)?{ ????????mGridPhotoAdapter?=?new?GridPhotoAdapter(photos); ????????mPhotoRecyclerView.setAdapter(mGridPhotoAdapter); ????}?else?{ ????????mGridPhotoAdapter.setPhotos(photos); ????????mGridPhotoAdapter.notifyDataSetChanged(); ????} }
查看完整描述

3 回答

?
慕粉15255556666

TA貢獻12條經驗 獲得超10個贊

其實最簡單的就是不在linear和gride之間切換,把linear看做1列的grid ,可以簡單許多,去改變GridLayoutaManager的spancount就可以了
查看完整回答
1 反對 回復 2017-05-25
?
慕粉15255556666

TA貢獻12條經驗 獲得超10個贊

我用了一個adapter 去模擬了一下線性,網格布局管理器的切換,在初始化的時候給了默認的linearlayoutmanager 點擊切換的時候就像你問題中的那樣寫的出現了布局里面數據展示混亂的問題,不知道和你遇到的是否一樣,然后再切換之前先清空了layoutmanaher 既設為null,再檢查一下布局文件,用相對布局去畫,如果用線性布局也會出現展示混亂的問題,這和線性布局本身的特性有關,然后我的就顯示正常了O(∩_∩)O
查看完整回答
反對 回復 2017-05-25
  • 3 回答
  • 2 關注
  • 3534 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號