public class MyRecyclerAdapter extends RecyclerView.Adapter<MyRecyclerAdapter.MyViewHolder> {
private List<String> list ;
public MyRecyclerAdapter (List<String> list) {
// TODO Auto-generated constructor stub
this .list = list;
}
class MyViewHolder extends RecyclerView.ViewHolder{
TextView tv ;
public MyViewHolder (View view) {
super (view);
tv = (TextView)view.findViewById(android.R.id.text1 );
}
}
@Override
public int getItemCount () {
// TODO Auto-generated method stub
return list .size();
}
@Override
public void onBindViewHolder (MyViewHolder holder, int position) {
//绑定数据
holder.tv .setText(list .get(position));
}
@Override
public MyViewHolder onCreateViewHolder (ViewGroup viewGroup, int arg1) {
// 创建ViewHolder
MyViewHolder holder = new MyViewHolder(View.inflate (viewGroup.getContext(), android.R.layout.simple_list_item_1 , null ));
return holder;
}
}
public class MyStaggedRecyclerAdapter extends RecyclerView.Adapter<MyStaggedRecyclerAdapter.MyViewHolder> {
private List<String> list ;
private List<Integer> heights ;
public MyStaggedRecyclerAdapter (List<String> list) {
// TODO Auto-generated constructor stub
this .list = list;
heights = new ArrayList<Integer>();
for (int i = 0 ; i < list.size(); i++) {
heights .add((int )(200 +Math.random ()*50 ));
}
}
class MyViewHolder extends RecyclerView.ViewHolder{
TextView tv ;
public MyViewHolder (View view) {
super (view);
tv = (TextView)view.findViewById(android.R.id.text1 );
}
}
@Override
public int getItemCount () {
// TODO Auto-generated method stub
return list .size();
}
@Override
public void onBindViewHolder (MyViewHolder holder, int position) {
//绑定数据
ViewGroup.LayoutParams params = holder.tv .getLayoutParams();
params.height = heights .get(position);
// holder.tv.setBackgroundColor(Color.rgb(100, (int)(Math.random()*255), (int)(Math.random()*255)));
holder.tv .setLayoutParams(params);
holder.tv .setText(list .get(position));
}
@Override
public MyViewHolder onCreateViewHolder (ViewGroup viewGroup, int arg1) {
// 创建ViewHolder
MyViewHolder holder = new MyViewHolder(View.inflate (viewGroup.getContext(), android.R.layout.simple_list_item_1 , null ));
return holder;
}
}
private static final long serialVersionUID = -2862585049955236662L ;
private RecyclerView recylerview ;
private ArrayList<String> list ;
// private MyRecyclerAdapter adapter;
private MyRecyclerAdapter adapter ;
@Override
public void onCreate (Bundle savedInstanceState) {
super .onCreate(savedInstanceState);
setContentView(R.layout.activity_main_v1 );
//获取当前一个对象的
list = new ArrayList<String>();
for (int i = 0 ; i < 60 ; i++) {
list .add("item" +i);
}
recylerview = (RecyclerView)findViewById(R.id.recylerview );
// adapter = new MyRecyclerAdapter(list);
// adapter = new MyStaggedRecyclerAdapter(list);
adapter = new MyRecyclerAdapter(list );
// recylerview.setLayoutManager(new LinearLayoutManager(this));
//reverseLayout:数据倒置,从右边开始滑动
// recylerview.setLayoutManager(new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, true));
recylerview .setLayoutManager(new StaggeredGridLayoutManager(3 , LinearLayoutManager.VERTICAL ));
recylerview .setAdapter(adapter );
}