import android.content.Context;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.ContextMenu;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.Random;
/**
* Created by lenovo on 2018/4/9.
*
*rv.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
// rv.setLayoutManager(new LinearLayoutManager(this));
// rv.setLayoutManager(new GridLayoutManager(this,3));
myAdapter.an(new MyAdapter.Dian() {
@Override
public void setOnCli(View v, int position) {
Toast.makeText(MainActivity.this, "DFDFDFDF", Toast.LENGTH_SHORT).show();
}
});
*/
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.Holder> implements View.OnClickListener {
Context context;
ArrayList<Student> list;
public MyAdapter(Context context , ArrayList<Student> list) {
this.context=context;
this.list=list;
}
@Override
public Holder onCreateViewHolder(ViewGroup parent, int viewType) {
View view= LayoutInflater.from(context).inflate(R.layout.test,null);
Holder holder = new Holder(view);
view.setOnClickListener(this);
return holder;
}
@Override
public void onBindViewHolder(Holder holder, int position) {
holder.te.setImageResource(list.get(position).getImage());
ViewGroup.LayoutParams layoutParams = holder.te.getLayoutParams();
Random random = new Random();
int heig = random.nextInt(400) + 200;
layoutParams.width=heig;
layoutParams.height=heig;
holder.te.setLayoutParams(layoutParams);
//
holder.itemView.setTag(position);
}
@Override
public int getItemCount() {
return list.size();
}
@Override
public void onClick(View v) {
dian.setOnCli(v, (int) v.getTag());
}
class Holder extends RecyclerView.ViewHolder implements View.OnCreateContextMenuListener {
ImageView te;
public Holder(View itemView) {
super(itemView);
te= itemView.findViewById(R.id.te);
itemView.setOnCreateContextMenuListener(this);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
}
}
public interface Dian{
void setOnCli(View v, int position);
}
private Dian dian;
public void an(Dian dian){
this.dian=dian;
}
}
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.ContextMenu;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import java.util.ArrayList;
import java.util.Random;
/**
* Created by lenovo on 2018/4/9.
*
*rv.setLayoutManager(new StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL));
// rv.setLayoutManager(new LinearLayoutManager(this));
// rv.setLayoutManager(new GridLayoutManager(this,3));
myAdapter.an(new MyAdapter.Dian() {
@Override
public void setOnCli(View v, int position) {
Toast.makeText(MainActivity.this, "DFDFDFDF", Toast.LENGTH_SHORT).show();
}
});
*/
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.Holder> implements View.OnClickListener {
Context context;
ArrayList<Student> list;
public MyAdapter(Context context , ArrayList<Student> list) {
this.context=context;
this.list=list;
}
@Override
public Holder onCreateViewHolder(ViewGroup parent, int viewType) {
View view= LayoutInflater.from(context).inflate(R.layout.test,null);
Holder holder = new Holder(view);
view.setOnClickListener(this);
return holder;
}
@Override
public void onBindViewHolder(Holder holder, int position) {
holder.te.setImageResource(list.get(position).getImage());
ViewGroup.LayoutParams layoutParams = holder.te.getLayoutParams();
Random random = new Random();
int heig = random.nextInt(400) + 200;
layoutParams.width=heig;
layoutParams.height=heig;
holder.te.setLayoutParams(layoutParams);
//
holder.itemView.setTag(position);
}
@Override
public int getItemCount() {
return list.size();
}
@Override
public void onClick(View v) {
dian.setOnCli(v, (int) v.getTag());
}
class Holder extends RecyclerView.ViewHolder implements View.OnCreateContextMenuListener {
ImageView te;
public Holder(View itemView) {
super(itemView);
te= itemView.findViewById(R.id.te);
itemView.setOnCreateContextMenuListener(this);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
}
}
public interface Dian{
void setOnCli(View v, int position);
}
private Dian dian;
public void an(Dian dian){
this.dian=dian;
}
}