日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android两张图片切换,android recyclerview 切换列表视图

發布時間:2025/3/21 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android两张图片切换,android recyclerview 切换列表视图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一種是編寫兩個Adapter,切換Adapter的方式來實現切換列表視圖。另一種方式是同一個Adapter切換布局layout的方式來切換視圖

直接復制現在視圖,控件ID未作變更,這樣可以更改最少的代碼達到目的

定義一個變量來控制使用哪種布局視圖

private int layoutViewType = LIST_VIEW;

繼承 getItemViewType 來達到實現切換視圖的功能

@Override

public int getItemViewType(int position) {

return layoutViewType;

}

設置兩個方法以便在外部進行參數設定

public void setLayoutViewType(int layoutViewType){

this.layoutViewType = layoutViewType;

}

public int getLayoutViewType(){

return this.layoutViewType;

}

在onCreateViewHolder里進行布局變更

@NonNull

@Override

public myViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

View view = LayoutInflater.from(mContext).inflate(R.layout.file_manager_item, parent, false);

if(viewType == GRID_VIEW) view = LayoutInflater.from(mContext).inflate(R.layout.file_manager_grid_item, parent, false);

return new myViewHolder(view, mContext);

}

在外部Activity里添加視圖變更的圖示并添加切換事件

if(fileAdapter.getLayoutViewType() == pub.LIST_VIEW){

fileAdapter.setLayoutViewType(pub.GRID_VIEW);

mView.ivFmViewType.setImageResource(R.drawable.list_48);

mView.rvFmShow.setLayoutManager(new GridLayoutManager(FileManagerActivity.this, 6));

}else{

fileAdapter.setLayoutViewType(pub.LIST_VIEW);

mView.ivFmViewType.setImageResource(R.drawable.grid_view_48);

mView.rvFmShow.setLayoutManager(new LinearLayoutManager(FileManagerActivity.this));

}

fileAdapter.notifyDataSetChanged();

總結

以上是生活随笔為你收集整理的android两张图片切换,android recyclerview 切换列表视图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。