RecyclerView第三方开源
来源:互联网 发布:淘宝刷到一个钻多少钱 编辑:程序博客网 时间:2024/06/05 22:42
public class MainActivity extends AppCompatActivity { private PullLoadMoreRecyclerView recyclerView; private List<Pic.美女Bean> list = new ArrayList<>(); private MyAdapter adapter; private String path = "http://c.3g.163.com/recommend/getChanListNews?channel=T1456112189138&size=20&passport=&devId=1uuFYbybIU2oqSRGyFrjCw%3D%3D&lat=%2F%2FOm%2B%2F8ScD%2B9fX1D8bxYWg%3D%3D&lon=LY2l8sFCNzaGzqWEPPgmUw%3D%3D&version=9.0&net=wifi&ts=1464769308&sign=bOVsnQQ6gJamli6%2BfINh6fC%2Fi9ydsM5XXPKOGRto5G948ErR02zJ6%2FKXOnxX046I&encryption=1&canal=meizu_store2014_news&mac=sSduRYcChdp%2BBL1a9Xa%2F9TC0ruPUyXM4Jwce4E9oM30%3D"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); startTask(); recyclerView.setOnPullLoadMoreListener(new PullLoadMoreRecyclerView.PullLoadMoreListener() { @Override public void onRefresh() { new Handler().postDelayed(new Runnable() { @Override public void run() { startTask(); recyclerView.setPullLoadMoreCompleted(); } }, 1500); } @Override public void onLoadMore() { new Handler().postDelayed(new Runnable() { @Override public void run() { startTask(); adapter.notifyItemInserted(list.size() - 1); adapter.notifyDataSetChanged(); recyclerView.setIsLoadMore(false); recyclerView.setPullLoadMoreCompleted(); } }, 1000); } }); } private void initView() { recyclerView = (PullLoadMoreRecyclerView) findViewById(R.id.Rec); recyclerView.setGridLayout(3); adapter = new MyAdapter(list, MainActivity.this); recyclerView.setAdapter(adapter); } private void startTask() { OkhttpUtils.getInstance().getBeanOfOk(this, path, Pic.class, new OkhttpUtils.CallBack<Pic>() { @Override public void getData(Pic pic) { if (pic != null) { list.addAll(0, pic.get美女()); initView(); } } }); }}public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> { private List<Pic.美女Bean> list; private Context mcontext; private MyOnItemClickListener itemClickListener; private MyOnItemLongClickListener itemLongClickListener; public interface MyOnItemClickListener { void OnItemClickListener(View view, int position); } public interface MyOnItemLongClickListener { void OnItemLongClickListener(View view, int position); } public MyAdapter(MainActivity mcontext, List<Pic.美女Bean> list) { this.list = list; this.mcontext = mcontext; } @Override public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(mcontext).inflate(R.layout.item, null); ViewHolder holder = new ViewHolder(view); return holder; } @Override public void onBindViewHolder(final MyAdapter.ViewHolder holder, int position) { final Pic.美女Bean bean = list.get(position); /// Glide.with(mcontext).load(bean.getImgsrc()).into(holder.picImage); Picasso.with(mcontext).load(bean.getImgsrc()).placeholder(R.mipmap.ic_launcher).error(R.mipmap.ic_launcher).into(holder.picImage); if (itemClickListener != null) { holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { itemClickListener.OnItemClickListener(holder.itemView, holder.getLayoutPosition()); } }); if (itemLongClickListener != null) { holder.itemView.setOnLongClickListener(new View.OnLongClickListener() { @Override public boolean onLongClick(View v) { itemLongClickListener.OnItemLongClickListener(holder.itemView, holder.getLayoutPosition()); return true; } }); } } holder.picImage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(mcontext, bean.getTitle(), Toast.LENGTH_SHORT).show(); PropertyValuesHolder pvhX = PropertyValuesHolder.ofFloat("alpha", 1f, 0f, 1f); PropertyValuesHolder pvhY = PropertyValuesHolder.ofFloat("scaleX", 1f, 0, 1f); PropertyValuesHolder pvhZ = PropertyValuesHolder.ofFloat("scaleY", 1f, 0, 1f); ObjectAnimator.ofPropertyValuesHolder(v, pvhX, pvhY, pvhZ).setDuration(2000).start(); } }); } public void setOnItemClickListener(MyOnItemClickListener itemClickListener) { this.itemClickListener = itemClickListener; } public void setOnItemLongClickListener(MyOnItemLongClickListener itemLongClickListener) { this.itemLongClickListener = itemLongClickListener; } @Override public int getItemCount() { return list == null ? 0 : list.size(); } public static class ViewHolder extends RecyclerView.ViewHolder { private ImageView picImage; public ViewHolder(View itemView) { super(itemView); picImage = (ImageView) itemView.findViewById(R.id.pic_image); } }}
阅读全文
0 0
- RecyclerView第三方开源
- 第三章 RecyclerView
- 伴随ListView、RecyclerView、ScrollView滚动滑入滑出小图标--第三方开源--FloatingActionButton
- 第三章 UI开发之RecyclerView
- 第一行代码 第三章 RecyclerView
- Android第三方FloatingActionButton:伴随ListView、RecyclerView、ScrollView滚动滑入滑出
- Android:RecyclerView | 第三方包的导入 | JDK问题等
- RecyclerView 的上拉刷新 引用第三方
- RecyclerView源码详解(第三篇LayoutManager源码详解)
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- RecyclerView
- 美团编程
- docker-1
- 深入浅出TensorFlow(二):TensorFlow解决MNIST问题入门
- web前端知识总结2
- 测试一个大数是否是素数
- RecyclerView第三方开源
- 计算分数加减表达式的值
- cookie 和session 的区别详解
- next数组求解详解
- 虚拟机3种网络模式(桥接、NAT、Host-only)
- lintcode-Continuous Subarray Sum
- Android隐式启动intent-filter详解
- 设计模式的基本原则
- Centos7 离线安装mysql 5.7