private RecyclerView recycler_view;
private List<String> list=new ArrayList<>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
for (int i=0;i<3;i++){
list.add("11111111111111111111111111111111111111111");
list.add("222222222222222222");
list.add("33333333333333333333333333333333333333333333333333333333333");
}
recycler_view=(RecyclerView)findViewById(R.id.recycler_view);
// 一:LinearLayoutManager 布局管理器
// LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this);
// //设置方向(垂直)
// linearLayoutManager.setOrientation(linearLayoutManager.VERTICAL);
// 二:GridLayoutManager 网格流
// GridLayoutManager gridLayoutManager=new GridLayoutManager(this,2);
// 三:StaggeredGridLayoutManager 瀑布流
StaggeredGridLayoutManager staggeredGridLayoutManager=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
//把布局管理器设置给RecyclerView
recycler_view.setLayoutManager(staggeredGridLayoutManager);
//设置适配器
MyAdapter myAdapter = new MyAdapter(list, this);
//把适配器设置给RecyclerView
recycler_view.setAdapter(myAdapter);
myAdapter.success(new MyAdapter.HttpLister() {
@Override
public void success(int position) {
Toast.makeText(MainActivity.this,position+"====",Toast.LENGTH_LONG).show();
}
});
}
}
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>{
private List<String> list;
private Context context;
public MyAdapter(List<String> list, Context context) {
this.list = list;
this.context = context;
}
//创建ViewHolder
@Override
public MyAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
//获取layout布局
View view = View.inflate(context, R.layout.layout_item, null);
//把ViewHolder new出来
MyViewHolder myViewHolder = new MyViewHolder(view);
//招到TextView的id
myViewHolder.txt_item=view.findViewById(R.id.item);
return myViewHolder;
}
//可以给View设置数据
@Override
public void onBindViewHolder(MyAdapter.MyViewHolder holder, final int position) {
holder.txt_item.setText(list.get(position));
//设置条目点击事件
holder.txt_item.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
lister.success(position);
}
});
}
//获取数据的长度
@Override
public int getItemCount() {
return list.size();
}
//创建一个ViewHolder
public class MyViewHolder extends RecyclerView.ViewHolder{
public MyViewHolder(View itemView) {
super(itemView);
}
TextView txt_item;
}
private HttpLister lister;
public void success(HttpLister lister){
this.lister=lister;
}
//接口回调
public interface HttpLister{
void success(int position);
}
}