当我更改 productQuantity 字符串以整数应用崩溃时,我遇到了一个问题,但我无法理解该错误,但他将我引到了这里:
holder.quantity.setText(currentItem.getProductQuantity());
当我投射setText(currentItem.getProductQuantity())
时不起作用
package com.original.original.original.admin;
public class ProductItem {
String productName;
String productCode;
String productBuyPrice;
String productSalePrice;
int productQuantity;
private String key;
public ProductItem() {
}
public ProductItem(String productName, String productCode, String productBuyPrice, String productSalePrice, int productQuantity) {
this.productName = productName;
this.productCode = productCode;
this.productBuyPrice = productBuyPrice;
this.productSalePrice = productSalePrice;
this.productQuantity = productQuantity;
}
// @Exclude
public String getKey() {
return key;
}
// @Exclude
public void setKey(String key) {
this.key = key;
}
public String getProductCode() {
return productCode;
}
public String getProductName() {
return productName;
}
public String getProductBuyPrice() {
return productBuyPrice;
}
public String getProductSalePrice() {
return productSalePrice;
}
public int getProductQuantity() {
return productQuantity;
}
}
和此onBindView
方法
@Override
public void onBindViewHolder(productViewHolder holder, int position) {
ProductItem currentItem = items.get(position);
holder.name.setText(currentItem.getProductName());
holder.code.setText(currentItem.getProductCode());
holder.buyPrice.setText(currentItem.getProductBuyPrice());
holder.salePrice.setText(currentItem.getProductSalePrice());
holder.quantity.setText(currentItem.getProductQuantity());
}
答案 0 :(得分:2)
尝试String.valueOf(YOUR_VALUE);
类似textView.setText(String.valueOf(7));
我想在你的情况下,
holder.quantity.setText(String.valueOf(currentItem.getProductQuantity()));
答案 1 :(得分:2)
From android documentation setText(int resid) 设置要使用字符串资源标识符显示的文本。
它崩溃是因为系统认为您正在调用textview.setText(int resId)方法,并尝试查找具有您作为整数传递给setText()的id的资源。
因此,您需要先将数字转换为字符串,然后再将其设置为textview。
答案 2 :(得分:2)
只需转换此行:
holder.quantity.setText(currentItem.getProductQuantity());
到
holder.quantity.setText(currentItem.getProductQuantity()+"");
它会起作用,但警告生产量应始终获得并返回整数,否则应用程序将崩溃
答案 3 :(得分:2)
如果您确定“ holder.quantity”和“ currentItem”不为空,请使用此代码
holder.quantity.setText(String.valueOf(currentItem.getProductQuantity()));