RecycleView的使用细则
来源:互联网 发布:猪八戒局域网考试软件 编辑:程序博客网 时间:2024/05/29 15:36
RecycleView的使用细则
重点解析
准备工作–导包
在Android studio中的gradle里 compile ‘com.android.support:recyclerview-v7:25.0.0’,也可导入其jar包;
对RecyclerView的认识
两个关键词:回收,复用;
recycleView的使用
1、实例化recycleView,如:recyclerView = (RecyclerView) findViewById(R.id.recycle_view);
2、设置布局管理器(LayoutManager),待选LayoutManager: LinearLayoutManager、GridLayoutManager、StaggeredGridLayoutManager;
它们的构造方法分别为:new LinearLayoutManager(context),new GridLayoutManager(context,int),new StaggeredGridLayoutManager(int, StaggeredGridLayoutManager.VERTICAL)(也可以为水平的);
设置方法:recyclerView.setLayoutManager(LayoutManager)
3、设置适配器RecycleAdapter
创建RecycleAdapter,例如下面的实例:
`public class RecycleAdapter extends RecyclerView.Adapter {
private Context context;
private List mData;
public RecycleAdapter(Context context, List<String> mData) { this.context = context; this.mData = mData;}@Overridepublic RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(context).inflate(R.layout.item_view, parent, false); MyViewHolder myViewHolder = new MyViewHolder(view); return myViewHolder;}@Overridepublic void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) { final MyViewHolder myViewHolder = (MyViewHolder) holder; myViewHolder.tv_item.setText(mData.get(position)); int height = (int) (Math.random() * 200 + 200); Log.i("height", height + "");
// StaggeredGridLayoutManager.LayoutParams lp = (StaggeredGridLayoutManager.LayoutParams) myViewHolder.tv_item.getLayoutParams();
// lp.height = height;
// myViewHolder.tv_item.setLayoutParams(lp);
// Log.i(“textViewHeight”, String.valueOf(myViewHolder.tv_item.getHeight()));
if (onItemClickListener != null) {
myViewHolder.tv_item.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int pos = holder.getLayoutPosition();
onItemClickListener.onItemClick(((MyViewHolder) holder).tv_item, pos);
}
});
myViewHolder.tv_item.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View view) {
int pos = holder.getLayoutPosition();
onItemClickListener.onItemLongClick(((MyViewHolder) holder).tv_item, pos);
return false;
}
});
}
}
@Overridepublic int getItemCount() { return mData.size();}public class MyViewHolder extends RecyclerView.ViewHolder { TextView tv_item; public MyViewHolder(View itemView) { super(itemView); tv_item = (TextView) itemView.findViewById(R.id.tv_item); }}public void addData(int position) { mData.add(position, "Insert One"); notifyItemInserted(position);}public void removeData(int position) { mData.remove(position); notifyItemRemoved(position);}public interface OnItemClickListener { void onItemClick(View view, int position); void onItemLongClick(View view, int position);}private OnItemClickListener onItemClickListener;public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener;}
}
`
设置方法:recyclerView.setAdapter(recycleAdapter);
4、添加分割线,recyclerView.addItemDecoration(new MyDividerGridItemDecoration(this));
public class MyDividerGridItemDecoration extends RecyclerView.ItemDecoration {…};
5、设置事件的监听
- RecycleView的使用细则
- msflexgrid控件的使用细则
- Android RecycleView---- RecycleView的简单使用
- Recycleview的使用
- RecycleView的使用
- RecycleView 的使用
- Android RecycleView的使用
- RecycleView的简单使用
- RecycleView 的使用
- RecycleView的基础使用
- android RecycleView的使用
- RecycleView的学习使用
- RecycleView的使用(一)
- RecycleView的首次使用
- RecycleView的使用
- RecycleView的使用
- RecycleView 的简单使用
- recycleView的使用
- Hadoop中自定义排序,分区,分组
- 排序算法学习
- 对Android 软键盘向下的监听
- javaEE之标签和过滤器
- 远程连接Linux (Ubuntu配置SSH服务) 端口22
- RecycleView的使用细则
- iOS自学笔记之UISwitch和UITextField
- PHP5.6以后开启curl支持的办法
- 三线性插值在HOG中的应用
- Xcode的报错:You don’t have permission
- 树
- Android中Activity处理返回结果的实现方式
- C# 显示一个“Hello world!”
- HttpUrlConnection的使用