我在java.lang.NumberFormatException中遇到错误:对于输入字符串:" null"

时间:2017-01-10 06:59:33

标签: java android android-fragments

我的应用中的编辑购物车项目出错。错误是:java.lang.NumberFormatException: For input string: "null"。我的错误行interget.parseInt("" + v.getTag());

我的代码:

case R.id.iv_edit_cart_item:
                    FragmentManager fm=getActivity().getSupportFragmentManager();
                    Fragment fragment = new ProductDetailActivity();
                    Bundle bundle = new Bundle();
                    int updatePos = Integer.parseInt("" + v.getTag());
                    bundle.putString("key","update");
                    bundle.putString("product_id", mArrListMyCart.get(updatePos).getmStrProductId());
                    bundle.putString("item_id", mArrListMyCart.get(updatePos).getmStrItemId());

                    getUpdateCartItems();
                    //showAlert("Product id-->" + mArrListMyCart.get(Integer.parseInt(""+v.getTag())).getmStrProductId(), -1);
                    fragment.setArguments(bundle);
                    fm.beginTransaction().replace(R.id.content_frame, fragment).addToBackStack("").commit();
                    break;

如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

当您尝试将非数字java.lang.NumberFormatException解析为任何数字StringInteger时,会出现Double

例如,如果您尝试将"null"转换为integer,那么您将获得NumberFormatException

错误"Exception in thread "main" java.lang.NumberFormatException:对于输入字符串:“null”具体说明您收到的用于解析的字符串不是数字。

请在解析前确保v.getTag()不为空。

String input = v.getTag();

If( null != input ) 
{
  int updatePos = Integer.parseInt("" + input);
}

答案 1 :(得分:-3)

检查XML并确保所有视图都具有此属性: android:tag =“someTag”

<View
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:tag="someTag"/>