Android GridView Button Click Handler

前端 未结 4 1514
名媛妹妹
名媛妹妹 2021-01-05 14:17

I have an Android GridView with an ImageView, TextView and two Button\'s. The Grid is appearing fine but I am finding it

4条回答
  •  慢半拍i
    慢半拍i (楼主)
    2021-01-05 14:34

     gridView = root.findViewById(R.id.gridview);
        CustomAdapter customAdapter = new CustomAdapter();
        gridView.setAdapter(customAdapter);
        gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView adapterView, View view, int i, long l) 
            {
                if(view.getId() == R.id.buyButton) {
                    Intent intent = new Intent(getActivity(), OrderSummary.class);
                    intent.putExtra("name", canWaterName[i]);
                    intent.putExtra("price", canWaterPrice[i]);
                    intent.putExtra("image", canWaterImage[i]);
                    startActivity(intent);
                }
            }
        });
    

    inside custom adapter which extends base adapter

     @Override
        public View getView(final int position, View convertView, final ViewGroup parent) {
            View view1 = getLayoutInflater().inflate(R.layout.row_data,null);
            //getting view in row_data
            final TextView name = view1.findViewById(R.id.canwaterName);
            final TextView price = view1.findViewById(R.id.canwaterPrice);
            final ImageView image = view1.findViewById(R.id.images);
            name.setText(canWaterName[position]);
            price.setText(canWaterPrice[position]);
            image.setImageResource(canWaterImage[position]);
            final Button buy = view1.findViewById(R.id.buyButton);
            buy.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    ((GridView)parent).performItemClick(v,position,0);
                }
            });
            return view1;
        }
    

提交回复
热议问题