【发布时间】:2016-10-25 19:23:44
【问题描述】:
我有一个自定义列表视图,每一行都有一个编辑文本和一个按钮。 当我们单击该按钮时,我只想获取编辑文本的值。
如图所示,当我们单击“添加到购物车”按钮时,我想获取用于数量的 edittext 值。 为此,我使用了适配器,代码如下:
public class ProductList_Adapter extends ArrayAdapter {
Context context;
int resource;
List<ProductList_ModelClass> productList_modelClasses = new ArrayList<>();
TextView tv_product_title;
TextView tv_product_price;
ImageView img_productImage;
RatingBar rb_custom_productlist;
EditText et_productQty;
Button btn_addto_Cart;
String product_Qty;
public ProductList_Adapter(Context context, int resource, List objects) {
super(context, resource, objects);
this.context = context;
this.resource = resource;
this.productList_modelClasses = objects;
}
@Override
public int getCount() {
return this.productList_modelClasses.size();
}
@NonNull
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater layoutInflater = ((Activity) context).getLayoutInflater();
convertView = layoutInflater.inflate(resource, parent, false);
}
img_productImage = (ImageView) convertView.findViewById(R.id.img_productImage);
tv_product_title = (TextView) convertView.findViewById(R.id.tv_product_title);
tv_product_price = (TextView) convertView.findViewById(R.id.tv_product_price);
rb_custom_productlist = (RatingBar) convertView.findViewById(R.id.rb_custom_productlist);
et_productQty = (EditText) convertView.findViewById(R.id.et_productQty);
btn_addto_Cart = (Button) convertView.findViewById(R.id.btn_addto_Cart);
Picasso.with(context)
.load(productList_modelClasses.get(position).getProduct_image())
.resize(250, 250)
.placeholder(R.mipmap.icon_placeholder) // optional
.error(R.mipmap.icon_error) // optional
.into(img_productImage);
tv_product_title.setText(productList_modelClasses.get(position).getProduct_name());
rb_custom_productlist.setRating(productList_modelClasses.get(position).getProduct_rating());
tv_product_price.setText("₹ " + productList_modelClasses.get(position).getProduct_price());
product_Qty = et_productQty.getText().toString();
btn_addto_Cart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, product_Qty + , Toast.LENGTH_SHORT).show();
}
});
convertView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, productList_modelClasses.get(position).getProduct_name(), Toast.LENGTH_SHORT).show();
Intent intent = new Intent(context, ProductActivity.class);
intent.putExtra("product_id", productList_modelClasses.get(position).getProduct_id());
context.startActivity(intent);
}
});
return convertView;
}
}
【问题讨论】: