RecyclerView切换布局(列表→网格)
2017-12-10 20:01
337 查看
boolean flag = false;//定义全局变量用来保存按钮的状态
@Override
public void onSuccess(final SearchBean searchBean) {
//得到presenter传来的数据
runOnUiThread(new Runnable() {
@Override
public void run() {
//设置默认为列表
ck.setChecked(flag);
data.addAll(searchBean.getData());
ck.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(flag){
//设置lv适配器
setLVAdapter();
ck.setChecked(false);
flag = ck.isChecked();
}else{
//设置gv适配器
setGVAdapter();
ck.setChecked(true);
flag = ck.isChecked();
}
}
});
if(ck.isChecked()){
//设置gv适配器
setGVAdapter();
}else{
//设置lv适配器
setLVAdapter();
}
//设置刷新样式
xrv.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader);
//设置加载样式
xrv.setLoadingMoreProgressStyle(ProgressStyle.BallSpinFadeLoader);
//设置xrecyclerview监听
xrv.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
searchPresenter.getData("http://120.27.23.105/product/searchProducts", encode,1);
xrv.refreshComplete();//刷新完成
}
@Override
public void onLoadMore() {
page++;
searchPresenter.getData("http://120.27.23.105/product/searchProducts", encode,page);
xrv.loadMoreComplete();//停止加载
}
});
}
});
}
private void setLVAdapter() {
//设置适配器
final LVAdapter adapter = new LVAdapter(MainActivity.this,data);
xrv.setAdapter(adapter);
//设置管理器
xrv.setLayoutManager(new LinearLayoutManager(MainActivity.this, LinearLayout.VERTICAL,false));
}
private void setGVAdapter() {
//设置适配器
final GVAdapter adapter = new GVAdapter(MainActivity.this,data);
xrv.setAdapter(adapter);
//设置管理器
xrv.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
}
@Override
public void onSuccess(final SearchBean searchBean) {
//得到presenter传来的数据
runOnUiThread(new Runnable() {
@Override
public void run() {
//设置默认为列表
ck.setChecked(flag);
data.addAll(searchBean.getData());
ck.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if(flag){
//设置lv适配器
setLVAdapter();
ck.setChecked(false);
flag = ck.isChecked();
}else{
//设置gv适配器
setGVAdapter();
ck.setChecked(true);
flag = ck.isChecked();
}
}
});
if(ck.isChecked()){
//设置gv适配器
setGVAdapter();
}else{
//设置lv适配器
setLVAdapter();
}
//设置刷新样式
xrv.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader);
//设置加载样式
xrv.setLoadingMoreProgressStyle(ProgressStyle.BallSpinFadeLoader);
//设置xrecyclerview监听
xrv.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
searchPresenter.getData("http://120.27.23.105/product/searchProducts", encode,1);
xrv.refreshComplete();//刷新完成
}
@Override
public void onLoadMore() {
page++;
searchPresenter.getData("http://120.27.23.105/product/searchProducts", encode,page);
xrv.loadMoreComplete();//停止加载
}
});
}
});
}
private void setLVAdapter() {
//设置适配器
final LVAdapter adapter = new LVAdapter(MainActivity.this,data);
xrv.setAdapter(adapter);
//设置管理器
xrv.setLayoutManager(new LinearLayoutManager(MainActivity.this, LinearLayout.VERTICAL,false));
}
private void setGVAdapter() {
//设置适配器
final GVAdapter adapter = new GVAdapter(MainActivity.this,data);
xrv.setAdapter(adapter);
//设置管理器
xrv.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
}
相关文章推荐
- Toolbar+RecyclerView进阶使用(仿淘宝列表、网格布局之间的切换)
- recycle的加载更多以及网格和列表布局的随意切换
- RecyclerView切换布局(列表→网格)
- Android仿淘宝切换商品列表布局效果的示例代码
- 一个可变布局列表,有9种布局item大小,每个item可拖拽切换位置
- Android利用ViewPager+GridView,实现网格布局(功能列表)并能水平滑动
- 列表_下拉列表_可扩展的列表_滚动_画廊_图像切换_网格_标签_惰性装载
- iOS干货:列表和网格视图的相互切换
- Android中利用ListView和GridView实现列表视图和网格(图标)视图的相互切换显示
- recycleview线性布局和网格布局的切换
- 优秀框架介绍(一):twoway-view,解决你想要的各种列表网格的布局
- iOS实现列表与网格两种视图的相互切换
- 仿美团、京东、饿了么点击左边列表 右边切换布局UI
- RecyclerView线性布局和网格布局的切换
- 点击切换商品两种不同布局列表
- [置顶] 仿天猫App实现商品列表布局切换效果
- RecyclerView的列表布局中match_parent失效的解决方法
- jQuery 超实用的图片列表布局切换效果
- 【iOS干货】:列表和网格视图的相互切换
- Vue.js实现网格列表布局转换方法