没有隐藏我的弹窗或者显示Toast
public void showPopwindow() {
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View view = inflater.inflate(R.layout.popwindow_add_product, null);
final PopupWindow window = new PopupWindow(view, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
window.setFocusable(true);
window.setTouchable(true);
window.setOutsideTouchable(true);
window.setBackgroundDrawable(new ColorDrawable());
window.showAtLocation(view, Gravity.BOTTOM, 0, 0);
ViewHolder holder = new ViewHolder(view);
holder.setData(goods_bean, window);
ivPopImg = (ImageView) view.findViewById(R.id.iv_pop_img);
tvPopInfo = (TextView) view.findViewById(R.id.tv_pop_info);
numberAddSubView = (NumberAddSubView) view.findViewById(R.id.number_add_sub_view);
btnCancel = (Button) view.findViewById(R.id.btn_cancel);
btnComfirm = (Button) view.findViewById(R.id.btn_comfirm);
tvPopPrice = (TextView) view.findViewById(R.id.tv_pop_price);
btnCancel.setOnClickListener(this);
btnComfirm.setOnClickListener(this);
}
class ViewHolder extends RecyclerView.ViewHolder {
public Context mContext;
public ViewHolder(View view) {
super(view);
ivPopImg = (ImageView) view.findViewById(R.id.iv_pop_img);
tvPopInfo = (TextView) view.findViewById(R.id.tv_pop_info);
numberAddSubView = (NumberAddSubView) view.findViewById(R.id.number_add_sub_view);
btnCancel = (Button) view.findViewById(R.id.btn_cancel);
btnComfirm = (Button) view.findViewById(R.id.btn_comfirm);
tvPopPrice = (TextView) view.findViewById(R.id.tv_pop_price);
//查百度查到的,很开心。mContext可以用了^-^。还是中文容易懂。
//可是那个布局的东西现在还是空的摸不着头脑
mContext = GoodsInfoActivity.this;
}
public void setData(final GoodsBean goodsBean, final PopupWindow window) {
Glide.with(mContext)
.load(Constants.Base_URl_IMAGE + goodsBean.getFigure())
.into(ivPopImg);
tvPopInfo.setText(goodsBean.getName());
tvPopPrice.setText("¥" + goodsBean.getCover_price());
numberAddSubView.setValue(goodsBean.getNumber());
numberAddSubView.setOnNumberChangeListener(new NumberAddSubView.OnNumberChangeListener() {
@Override
public void addNumber(View view, int value) {
goodsBean.setNumber(value);
}
@Override
public void subNumber(View view, int value) {
goodsBean.setNumber(value);
}
});
btnComfirm.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
cartProvider.addData(goodsBean);
window.dismiss();
Toast.makeText(GoodsInfoActivity.this, "加入购物车", Toast.LENGTH_SHORT).show();
}
});
btnCancel.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
cartProvider.addData(goodsBean);
window.dismiss();
Toast.makeText(GoodsInfoActivity.this, "取消加入购物车", Toast.LENGTH_SHORT).show();
}
});
}
}
有点疑惑,为什么你代码里面有两处为
btnConfirm
和btnCancel
绑定点击事件?