MVP实现Recyclerview加Springview上拉加载下拉刷新点击条目可跳转到购物车
来源:互联网 发布:暗黑3猎魔人套装数据 编辑:程序博客网 时间:2024/06/06 19:27
GitHub地址:https://github.com/ztz736665550/RecyclerView
----------------------------------------activity--------------------------------------------------
package com.ztz.recyclerview;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.support.v7.widget.DividerItemDecoration;import android.support.v7.widget.LinearLayoutManager;import android.support.v7.widget.RecyclerView;import android.util.Log;import android.view.View;import android.widget.Toast;import com.liaoinstan.springview.container.DefaultFooter;import com.liaoinstan.springview.container.DefaultHeader;import com.liaoinstan.springview.widget.SpringView;import com.ztz.recyclerview.adapter.MyreyAdapter;import com.ztz.recyclerview.bean.MusicBean;import com.ztz.recyclerview.presenter.RecyPresenter;import com.ztz.recyclerview.view.RecyViewCallBack;import java.util.List;public class MainActivity extends AppCompatActivity implements RecyViewCallBack{ private SpringView spring_view; private RecyclerView recycler_view; private RecyPresenter presenter; private MyreyAdapter adapter; private int a=3; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //初始化控件 initView(); //recyclerview recycler_view.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false)); adapter = new MyreyAdapter(this); recycler_view.setAdapter(adapter); recycler_view.addItemDecoration(new DividerItemDecoration(this,1)); //与presenter交互 presenter = new RecyPresenter(this); presenter.RequestData(a); //springview spring_view.setHeader(new DefaultHeader(this)); spring_view.setFooter(new DefaultFooter(this)); spring_view.setListener(new SpringView.OnFreshListener() { @Override public void onRefresh() { //刷新 if (a == 1) { Toast.makeText(MainActivity.this,"没有最新数据了",Toast.LENGTH_SHORT).show(); }else{ a = 1; presenter.RequestData(a); } //停止刷新 spring_view.onFinishFreshAndLoad(); //刷新适配器 adapter.notifyDataSetChanged(); } @Override public void onLoadmore() { //加载 a = a+3; presenter.RequestData(a); //停止加载 spring_view.onFinishFreshAndLoad(); //刷新适配器 adapter.notifyDataSetChanged(); } }); //recyclerview的条目点击事件 adapter.setItemOnClickListener(new MyreyAdapter.MyItemOnClickListener() { @Override public void onItemOnClick(View view, int postion) { Toast.makeText(MainActivity.this,"点击了item",Toast.LENGTH_SHORT).show(); } }); } private void initView() { spring_view = findViewById(R.id.spring_view); recycler_view = findViewById(R.id.recycler_view); } //获取到的数据 @Override public void success(MusicBean musicBean) { Log.i("-------------------",musicBean.getSong_list().get(1).getAlbum_title()); List<MusicBean.SongListBean> list = musicBean.getSong_list(); adapter.addData(list); //添加完数据,进行一次刷新 adapter.notifyDataSetChanged(); } @Override public void failed(Exception e) { Log.i("-------------------","失败"); }}
----------------------------------------适配器---------------------------------------------------
package com.ztz.recyclerview.adapter;import android.content.Context;import android.support.v7.widget.RecyclerView;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import android.widget.TextView;import com.bumptech.glide.Glide;import com.ztz.recyclerview.R;import com.ztz.recyclerview.bean.MusicBean;import java.util.List;/** * Created by TR on 2017/11/22. */public class MyreyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private Context context; public MyreyAdapter(Context context) { this.context = context; } private List<MusicBean.SongListBean> list; public void addData(List<MusicBean.SongListBean> list) { this.list = list; } //对Activity暴露 private MyItemOnClickListener listener; public void setItemOnClickListener(MyItemOnClickListener listener){ this.listener=listener; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { viewHolder fmListHolder=new viewHolder(LayoutInflater.from(context).inflate(R.layout.recyclerview_layout,parent,false),listener); return fmListHolder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { viewHolder holder1 = (viewHolder) holder; Glide.with(context).load(list.get(position).getPic_big()).placeholder(R.mipmap.ic_launcher).into(holder1.image_icon); holder1.text_name.setText(list.get(position).getArtist_name()); holder1.text_title.setText(list.get(position).getAlbum_title()); holder1.text_time.setText(list.get(position).getPublishtime()); } @Override public int getItemCount() { return list == null ? 0 :list.size(); } static class viewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { private final ImageView image_icon; private final TextView text_name; private final TextView text_title; private final TextView text_time; MyItemOnClickListener mListener; public viewHolder(View itemView,MyItemOnClickListener myItemOnClickListener) { super(itemView); image_icon = itemView.findViewById(R.id.image_icon); text_name = itemView.findViewById(R.id.text_name); text_title = itemView.findViewById(R.id.text_title); text_time = itemView.findViewById(R.id.text_time); this.mListener=myItemOnClickListener; itemView.setOnClickListener(this); } @Override public void onClick(View view) { if(mListener!=null){ mListener.onItemOnClick(view,getPosition()); } } } //定义接口 public interface MyItemOnClickListener { void onItemOnClick(View view,int postion); }}
阅读全文
0 0
- MVP实现Recyclerview加Springview上拉加载下拉刷新点击条目可跳转到购物车
- MVP+OKHttp+Recyclerview+Springview下拉刷新上拉加载
- RecyclerView条目跳转+SpringView数据刷新加载+MVP+OKhttp+拦截器+自定义view 实现请求网络数据的二级列表购物车
- SpringView实现上拉加载,下拉刷新
- recyclerview,okHttp,布局切换,springView上拉刷新下拉加载
- MVP实现RecyclerView上拉刷新,下拉加载
- recyclerview 显示图片 glide加载图片 实现点击跳转 上拉刷新下拉加载
- MVP okhttp+springview+RecyclerView 上拉下拉功能+多条目加载
- RecyclerView实现上拉刷新,下拉加载,item点击事件
- SpringView下拉刷新上拉加载
- mvp+retrofit+rxjava xrecyclerview实现多条目 下拉刷新 下拉加载 点击跳转
- MVP+二级购物车+recyclerView点击条目跳转
- RecyclerView列表九宫格瀑布流,多条目,SpringView实现上拉下拉刷新
- RecyclerView实现上拉加载,下拉刷新
- RecyclerView实现上拉加载,下拉刷新
- 使用MVP注册登录模块+封装的OKhttp,拦截器+QQ第三方登录+RecyclerView+SpringView上拉加载下拉刷新网络数据
- mvp下RecyclerView下拉刷新上拉加载Demo
- MVP模式 + RecyclerView瀑布流 + 上拉加载、下拉刷新
- scrapy之其他
- 模态框加载高德地图时,遇到的加载失败问题
- 数据结构实验之图论三:判断可达性
- js删除组数中的某一个元素(完整代码附效果图)
- 数据中心机房供电需求有哪些?供配电系统如何布置??
- MVP实现Recyclerview加Springview上拉加载下拉刷新点击条目可跳转到购物车
- webApi安全访问之 IdentityServer4使用总结
- Idea使用总结
- matlab imwrite写入指定文件夹
- CSS3霓虹灯文字特效
- 打开普通html文件
- 模糊查询
- css实现折叠面板
- 依赖