事到如今,对于RecyclerView的认识相信大家都已经知晓了。视图漂亮,易于扩展,操作渐变。。。等等。我们大多都听说过她为人称道的美丽,却囿于eclipse被google抛弃而望而兴叹。今天装上as,迫不及待的去亲眼目睹一下RecyclerView的风采。
首先建立一个RecyclerView project,引入recycle的依赖。
因为是第一次初识recycleview,所以我放弃别的控件,把整个recycleview设为布局:
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
rv = new RecyclerView(this);
setContentView(rv);
好了。到现在,算是见到了recycle小姐。可是,我们的目的不是远远的看一眼而已!!!你懂的。
那么我们就去say:hello girl
泡妞不外乎高富帅这三个神器,泡recycle小姐呢也需要神器,哦,不对,是纯洁的结识。结识recycle小姐需要的神器是LayoutManager,ItemDecoration , ItemAnimator。
LayoutManager——布局管理器。管理显示的方式。
ItemDecoration ——Item的间隔控制器。管理driver的。
ItemAnimator——动画控制器。控制增添删除item的动画。
so,当我们知道了这三个神器,那么久大胆的去约吧:
首先献给recycle小姐第一个神器
rv.setLayoutManager(new LinearLayoutManager(this));
然后像listView抑或gridView一样的设置adpter:
因为是初识,所以我要简单得来,我就用了匿名内部类。。。rv.setAdapter(new RecyclerView.Adapter()
这个adpter里重写方法:
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
return null;
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
}
@Override
public int getItemCount()
{
return 0;
}
前两个方法有个我们常见的viewHolder,所以我们要创建viewHolder:
class ViewHold extends RecyclerView.ViewHolder
{
private TextView tv;
public ViewHold(TextView itemView)
{
super(itemView);
tv = itemView;
}
public TextView getTv()
{
return tv;
}
}
ok,把这个viewHolder传到adpter的方法里:
@Override
public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType)
{
return new ViewHold(new TextView(parent.getContext()));
}
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
ViewHold vh = (ViewHold) holder;
vh.getTv ().setText("item"+position);
}
下面修改item的数量为10:
@Override
public int getItemCount()
{
return 10;
}
运行:
recycle的第一面已经见到啦。