2017-11-17 2 views
-1

YouTube에서 누군가를 팔로우하고 코드를 복사해도이 오류가 계속 발생합니다. 그는 오류를 얻지 않지만, 그렇습니다.java.lang.NumberFormatException : 입력 문자열 : "null".. 이유를 알 수 없습니다.

다음 코드는 클래스에 Cart

// Calculating the total price 

    int total = 0 ; 
    for(Order order:cart) 
     total += (Integer.parseInt(order.getPrice())) * (Integer.parseInt(order.getQuantity())); 


    Locale locale = new Locale("en" , "US" ); 
    NumberFormat fmt = NumberFormat.getCurrencyInstance(locale); 

    txtTotalPrice.setText(fmt.format(total)); 

null .And order.getQuantity() 중 하나가 null

수 있습니다 CartAdapter

int price = (Integer.parseInt(listData.get(position).getPrice())) 
      *(Integer.parseInt(listData.get(position).getQuantity())); 
    holder.txt_price.setText(fmt.format(price)); 

    holder.txt_cart_name.setText(listData.get(position).getProductName()); 
+1

더 많은 코드를 표시하고 전체 오류를 표시해야한다고 생각합니다. – dave

답변

2

내가 order.getPrice() 수 있습니다 다음 코드는 클래스에 그 (것)들 또는 그 (것)들 모두는 null이다, 그것은 NumberFormatException

이렇게하면됩니다.

사용하려는 경우 당신의 응답이 null의 경우 .IT는 NumberFormatException가 발생하지 않습니다

total += (Integer.parseInt(TextUtils.isEmpty(order.getPrice()) ? "0" : order.getPrice())) * (Integer.parseInt(TextUtils.isEmpty(order.getQuantity()) ? "0" : order.getQuantity())); 

그리고

int price = (Integer.parseInt(TextUtils.isEmpty(listData.get(position).getPrice()) ? "0" : listData.get(position).getPrice())) 
      *(TextUtils.isEmpty(listData.get(position).getQuantity()) ? "0" : listData.get(position).getQuantity()); 

참고

당신은 다음과 같이 할 수있는, 당신은 기본 값을 반환 할 수 있습니다.

TextUtils.isEmpty(response) ? "0" : response; 
관련 문제