Integer GetterValue 未在 TextView 中设置

Integer GetterValue is not set in TextView

在我的应用程序中,我在 Bean Class 中使用 Getter 和 Setter。我在 setter 中设置了一个值,并尝试使用 getter 获取该值。

Setter 值在 Log.e 中打印,但 getter 值未在 TextView 中设置。

这是我的代码:

public class CartRes {
    private String CartcategoryName;
    private String CartproductName;
    private String product_id;
    private int CartPrice;
    private int CartCount;

    public int getCartPrice() {
        Log.e("Product Check BeanGet", String.valueOf(CartPrice));
        return CartPrice;
    }

    public void setCartPrice(int cartPrice) {
        CartPrice = cartPrice;
        Log.e("Product Check Bean", String.valueOf(CartPrice));
    }

    public int getCartCount() {
        return CartCount;
    }

    public void setCartCount(int cartCount) {
        CartCount = cartCount;
    }
}

Getter 代码片段:

 viewHolder.cartProduct.setText(cartRes.getCartproductName());
            viewHolder.cartQuantity.setText(cartRes.getCartcategoryName());
            viewHolder.cartCount.setText(cartRes.getCartCount());  //Not getting any value
            viewHolder.cartPrice.setText(cartRes.getCartPrice()); //Not getting any value

Setter 代码段:

cartRes = new CartRes();
                cartRes.setProduct_id(cartcursor.getString(cartcursor.getColumnIndex(DbHelper.CART_PDT_ID)));
                cartRes.setCartproductName(cartcursor.getString(cartcursor.getColumnIndex(DbHelper.CART_PDT_NAME)));
                cartRes.setCartcategoryName(cartcursor.getString(cartcursor.getColumnIndex(DbHelper.CART_CAT_NAME)));
                cartRes.setCartCount(cartcursor.getInt(cartcursor.getColumnIndex(DbHelper.CART_QUANTITY)));
                cartRes.setCartPrice(Integer.parseInt(cartcursor.getString(cartcursor.getColumnIndex(DbHelper.CART_PRICE))));


                cartcursor.moveToNext();
                cartBasket.add(cartRes);
}

ViewHoder:

  public static class ViewHolder {
        public TextView cartProduct,
                cartQuantity,
                cartCount,
                cartPrice,
                cartPriceDum;
    }

LogCat 值:

03-17 16:24:10.708 16567-16567/? E/Product 检查:PI 16 PistaIce Cream 2 360

03-17 16:24:10.710 16567-16567/? E/Product 检查:PI 13 ButterScotchIce Cream 1 200

03-17 16:24:10.710 16567-16567/? E/Product 检查:PI 11 ChocoIce Cream 1 140

03-17 16:24:10.711 16567-16567/? E/Product 检查:PI 12 草莓冰淇淋 1 100

03-17 16:24:10.711 16567-16567/? E/Product 检查:PI 10 Vennila 冰淇淋 1 70

尝试将其转换为字符串。

 viewHolder.cartCount.setText(cartRes.getCartCount()+"");  
 viewHolder.cartPrice.setText(cartRes.getCartPrice()+""); 

您不能为 Textview 设置 Integer 将整数转换为字符串并将其设置为文本视图。

因为值是 intsetText() 期望 String 你应该这样做:

viewHolder.cartCount.setText(String.valueOf(cartRes.getCartCount())); 
viewHolder.cartPrice.setText(String.valueOf(cartRes.getCartPrice()));

或者您也可以尝试 "trick" 将 "" after/before int

viewHolder.cartCount.setText(""+cartRes.getCartCount()); 
viewHolder.cartPrice.setText(""+cartRes.getCartPrice());