MainActivity
public class MainActivity extends AppCompatActivity {
public RecyclerView rc;
public RequestQueue requestQueue;
public MyAdapter myAdapter;
Beam sb;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rc=findViewById(R.id.recycler_view);
requestQueue= Volley.newRequestQueue(this);
GridLayoutManager gridLayoutManager=new GridLayoutManager(this,2);
rc.setLayoutManager(gridLayoutManager);
initData();
}
public void initData(){
String url="http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=10&page=1";
StringRequest mStringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.e( "onResponse: 1111", response);
sb=new Gson().fromJson(response,Beam.class);
myAdapter=new MyAdapter(getApplicationContext(),sb);
myAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
Toast.makeText(MainActivity.this, sb.getData().get(position).getTitle(), Toast.LENGTH_SHORT).show();
}
});
rc.setAdapter(myAdapter);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.e("wangshu", error.getMessage(), error);
}
});
//将请求添加在请求队列中
requestQueue.add(mStringRequest);
}
}
MainBActivity
public class MainBActivity extends AppCompatActivity {
ShopBean.InfoBean.GoodsBean good;
ImageView imageView;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout2);
imageView=findViewById(R.id.imageView2);
good=( ShopBean.InfoBean.GoodsBean )getIntent().getExtras().get("good");
Glide.with(this).load(good.getThumb()).into(imageView);
}
}
MyAdapter
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>{
public Beam shopBean;
public Context context;
private OnItemClickListener mOnItemClickListener;//声明接口
public void setOnItemClickListener(OnItemClickListener onItemClickListener) {
mOnItemClickListener = onItemClickListener;
}
public MyAdapter(Context context,Beam shopBean){
this.shopBean=shopBean;
this.context=context;
// Log.e( "onResponse: 1111", shopBean.getData().toString());
}
@Override
public MyAdapter.MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.layout,parent,false);
MyViewHolder holder = new MyViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(final MyAdapter.MyViewHolder holder, int position) {
holder.tv1.setText(shopBean.getData().get(position).getTitle());
holder.tv2.setText("¥ " + shopBean.getData().get(position).getCollect_num());
Glide.with(context).load(shopBean.getData().get(position).getPic()).into(holder.imageView);
if (mOnItemClickListener != null) {
holder.imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int position = holder.getLayoutPosition();
mOnItemClickListener.onItemClick(holder.itemView, position);
}
});
}
}
@Override
public int getItemCount() {
return shopBean.getData().size();
}
class MyViewHolder extends ViewHolder{
ImageView imageView;
TextView tv1;
TextView tv2;
TextView tv3;
public MyViewHolder(View itemView) {
super(itemView);
imageView=itemView.findViewById(R.id.imageView);
tv1=itemView.findViewById(R.id.textView);
tv2=itemView.findViewById(R.id.textView2);
tv3=itemView.findViewById(R.id.textView3);
}
}
}
OnItemClickListener
public interface OnItemClickListener {
void onItemClick(View view, int position);
}