RecyclerView瀑布流展示数据
来源:互联网 发布:电气学什么软件 编辑:程序博客网 时间:2024/06/05 17:33
P层
public class ImagePresaenter { private ImgView inv; public void attachView(ImgView inv){ this.inv=inv; } public void getNews(){ Map<String,String> map=new HashMap<>(); // map.put("uri","homepage"); HttpUtils.getInstance().get("http://result.eolinker.com/umIPmfS6c83237d9c70c7c9510c9b0f97171a308d13b611?uri=homepage", map, new CallBack() { @Override public void onSueecss(String tag, Object o) { ImageBean imagebean=(ImageBean) o; if(imagebean!=null){ List<ImageBean.DataBean.SubjectsBean> song_list = imagebean.getData().getSubjects(); List<ImageList> list=new ArrayList<ImageList>(); for(int i=0;i<song_list.size();i++){ list.add(new ImageList(song_list.get(i).getImage(),song_list.get(i).getTitle())); } inv.ImgSueecss(tag,list); } } @Override public void onFailed(String tag, Exception e) { inv.ImgFailed(tag,e); } }, "news", ImageBean.class); } public void detachView(){ if(inv!=null){ inv=null; } }}
//MainActivity
public class MainActivity extends AppCompatActivity implements ImgView{ private RecyclerView recyclerView; private List<ImageList> imageList; private RecyclerAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); recyclerView = (RecyclerView) findViewById(R.id.recyclerView); imageList = new ArrayList<>(); //设置LayoutManager recyclerView.setLayoutManager(new StaggeredGridLayoutManager(2, LinearLayoutManager.VERTICAL)); //设置Adapter adapter = new RecyclerAdapter(imageList,MainActivity.this); recyclerView.setAdapter(adapter); //p层 ImagePresaenter presaenter=new ImagePresaenter(); presaenter.getNews(); presaenter.attachView(this); } @Override public void ImgSueecss(String tag, List<ImageList> imgList) { imageList.addAll(imgList); adapter.notifyDataSetChanged(); } @Override public void ImgFailed(String tag, Exception e) { }}
//Adapter
public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerAdapter.RecyclerHolder>{ private List<ImageList> list; private Context context; public RecyclerAdapter( List<ImageList> list, Context context) { this.list = list; this.context = context; } @Override public RecyclerHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view=View.inflate(context, R.layout.recycleview_item,null); RecyclerHolder holder=new RecyclerHolder(view); return holder; } @Override public void onBindViewHolder(RecyclerHolder holder, int position) { Glide.with(context).load(list.get(position).getImg()).into(holder.imageView); holder.textView.setText(list.get(position).getTitle()); holder.imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { context.startActivity(new Intent(context, Main2Activity.class)); } }); } @Override public int getItemCount() { return list.size(); } public static class RecyclerHolder extends RecyclerView.ViewHolder{ ImageView imageView; TextView textView; public RecyclerHolder(View itemView) { super(itemView); imageView = (ImageView) itemView.findViewById(R.id.masonry_item_img); textView = (TextView) itemView.findViewById(R.id.masonry_item_title); } }}
阅读全文
0 0
- RecyclerView瀑布流展示数据
- 使用RecyclerView展示瀑布流的效果
- Android RecyclerView瀑布流展示(OkHttp协议)
- android网络数据获取与解析+RecyclerView数据展示实现ListView、GridView、瀑布流切换
- RecyclerView分别展示ListView,GrideView,瀑布流效果之总结
- recyclerview网络获取图片展示瀑布流MVP
- recyclerView死数据的瀑布流
- Android使用OKHTTP网络框架请求数据,RecyclerView结合Glide展示图片,瀑布流布局样式
- Android----------RecyclerView数据展示
- RecyclerView瀑布流插入数据和删除数据
- RecyclerView瀑布流
- RecyclerView实现瀑布流
- Android-RecyclerView瀑布流
- RecyclerView之瀑布流
- Android RecyclerView瀑布流
- recyclerview瀑布流
- recyclerView实现瀑布流
- RecyclerView布局+瀑布流
- leet code 9
- Python 练习实例3
- Ajax 中的GET和POST
- 学术报告的套路
- 关于IOS OC 中的load 和 initialize 方法
- RecyclerView瀑布流展示数据
- 替换标题
- Apache Commons-logging使用实例
- MDK5新建工程方法-STM32
- #1631 : Cats and Fish
- 替换标题+侧滑菜单
- Gerrit使用简介
- linux下的tcpip协议栈部分代码意义(1)
- SSO单点登录三种情况的实现方式详解 单点登录(SSO——Single Sign On)