Invalid characters java.lang.NumberFormatException:无效的int:";130菲律宾比索“;

Invalid characters java.lang.NumberFormatException:无效的int:";130菲律宾比索“;,invalid-characters,Invalid Characters,我不知道如何解决这个问题 我在代码中找不到我的错误 请帮我解决:(谢谢 我被重定向到 total+=(Integer.parseInt(order.getPrice())*(Integer.parseInt(order.getQuantity()); 这是我的适配器代码 public class CartAdapter extends RecyclerView.Adapter<CartViewHolder>{ private List<Order> listDat

我不知道如何解决这个问题

我在代码中找不到我的错误

请帮我解决:(谢谢

我被重定向到 total+=(Integer.parseInt(order.getPrice())*(Integer.parseInt(order.getQuantity());

这是我的适配器代码

public class CartAdapter extends RecyclerView.Adapter<CartViewHolder>{
    private List<Order> listData = new ArrayList<>();

    private Context context;

    public CartAdapter(List<Order> cart, Cart cart1)
    {
    }


    @Override
    public CartViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        LayoutInflater inflater = LayoutInflater.from(context);
        View itemView = inflater.inflate(R.layout.cartlayout,parent,false);
        return new CartViewHolder(itemView);
    }

    @Override
    public void onBindViewHolder(CartViewHolder holder, int position) {
        TextDrawable drawable = TextDrawable.builder()
                .buildRound(""+listData.get(position).getQuantity(), Color.RED);
        holder.img_cart_count.setImageDrawable(drawable);


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


    }

    @Override
    public int getItemCount() {
        return listData.size();
    }
}
公共类CartAdapter扩展了RecyclerView.Adapter{ private List listData=new ArrayList(); 私人语境; 公共购物车适配器(列表购物车、购物车1) { } @凌驾 公共CartViewHolder onCreateViewHolder(视图组父级,int-viewType){ LayoutFlater充气机=LayoutFlater.from(上下文); 视图项视图=充气机充气(R.layout.cartlayout,父项,false); 返回新的CartViewHolder(itemView); } @凌驾 公共无效onBindViewHolder(CartViewHolder,内部位置){ TextDrawable-drawable=TextDrawable.builder() .buildRound(“+listData.get(position.getQuantity(),Color.RED”); holder.img_cart_count.setImageDrawable(可提取); int price=(Integer.parseInt(listData.get(position.getPrice())*(Integer.parseInt(listData.get(position.getQuantity())); holder.txt_price.setText(价格); holder.txt\u cart\u name.setText(listData.get(position.getProductName()); } @凌驾 public int getItemCount(){ 返回listData.size(); } }
来自JavaDoc:Integer.parseInt(字符串s)方法
抛出一个
NumberFormatException

如果字符串不包含可解析整数

这意味着,方法
order.getPrice()
order.getQuantity()
返回的
“130 PHP”
不是有效的
整数

您真正的问题可能是:为什么该方法返回
字符串而不是
整数
,因为您现在必须解析
字符串
。非常容易出错,而且这种做法很糟糕

如果您的GUI元素(或其他任何元素)与
Integer
不匹配,请至少将“PHP”从输入字段中删除,这样您就可以解析
字符串
,而无需使用一些字符串帮助器方法对其进行操作。

类CartViewHolder扩展了RecyclerView.ViewHolder实现了View.OnClickListener
class  CartViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener
    , View.OnCreateContextMenuListener {

    public TextView txt_cart_name,txt_price;
    public ImageView img_cart_count;

    private ItemClickListener itemClickListener;

    public void setTxt_cart_name(TextView txt_cart_name) {
        this.txt_cart_name = txt_cart_name;
    }

    public CartViewHolder(View itemView) {
        super(itemView);

        txt_cart_name = (TextView)itemView.findViewById(R.id.cart_item_name);
        txt_price = (TextView)itemView.findViewById(R.id.cart_item_Price);
        img_cart_count = (ImageView)itemView.findViewById(R.id.cart_item_count);

        itemView.setOnCreateContextMenuListener(this);

    }

    @Override
    public void onClick(View view) {

    }

    @Override
    public void onCreateContextMenu(ContextMenu contextMenu, View view, ContextMenu.ContextMenuInfo contextMenuInfo) {

        contextMenu.setHeaderTitle("Selecione uma Ação");
        contextMenu.add(0,0,getAdapterPosition(),Common.DELETE);
    }
}

public class CartAdapter extends RecyclerView.Adapter<CartViewHolder> {

    private List<Order> listData = new ArrayList<>();
    private Context context;

    public CartAdapter(List<Order> listData, Context context) {
        this.listData = listData;
        this.context = context;
    }

    @Override
    public CartViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        LayoutInflater inflater = LayoutInflater.from(context);
        View itemView = inflater.inflate(R.layout.cart_layout,parent,false);
        return new CartViewHolder(itemView);
    }

    @Override
    public void onBindViewHolder(CartViewHolder holder, int position) {
        TextDrawable drawable = TextDrawable.builder()
                .buildRound(""+listData.get(position).getQuantity(), Color.BLUE);
        holder.img_cart_count.setImageDrawable(drawable);

        Locale locale = new Locale("pt","BR");
        NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);
        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());


    }


    @Override
    public int getItemCount() {
        return listData.size();
    }
}
,View.OnCreateContextMenuListener{ 公共文本查看txt\u购物车名称、txt\u价格; 公共图像查看img\u cart\u计数; 私有项ClickListener项ClickListener; public void setTxt\u cart\u name(TextView txt\u cart\u name){ this.txt\u cart\u name=txt\u cart\u name; } 公共CartViewHolder(查看项目视图){ 超级(项目视图); txt\u cart\u name=(TextView)itemView.findViewById(R.id.cart\u item\u name); txt\u price=(TextView)itemView.findViewById(R.id.cart\u item\u price); img\u cart\u count=(ImageView)itemView.findViewById(R.id.cart\u item\u count); setOnCreateContextMenuListener(这个); } @凌驾 公共void onClick(视图){ } @凌驾 public void onCreateContextMenu(ContextMenu ContextMenu,View视图,ContextMenu.ContextMenuInfo ContextMenuInfo){ contextMenu.setHeaderTitle(“Selecione umação”); 添加(0,0,getAdapterPosition(),Common.DELETE); } } 公共类CartAdapter扩展了RecyclerView.Adapter{ private List listData=new ArrayList(); 私人语境; 公共CartAdapter(列表列表数据、上下文){ this.listData=listData; this.context=上下文; } @凌驾 公共CartViewHolder onCreateViewHolder(视图组父级,int-viewType){ LayoutFlater充气机=LayoutFlater.from(上下文); 视图项视图=充气机。充气(R.layout.cart\u布局,父项,false); 返回新的CartViewHolder(itemView); } @凌驾 公共无效onBindViewHolder(CartViewHolder,内部位置){ TextDrawable-drawable=TextDrawable.builder() .buildRound(“+listData.get(position.getQuantity(),Color.BLUE)); holder.img_cart_count.setImageDrawable(可提取); 语言环境=新语言环境(“pt”、“BR”); NumberFormat fmt=NumberFormat.getCurrencyInstance(语言环境); int price=(Integer.parseInt(listData.get(position.getPrice())*(Integer.parseInt(listData.get(position.getQuantity())); holder.txt_price.setText(fmt.format(price)); holder.txt\u cart\u name.setText(listData.get(position.getProductName()); } @凌驾 public int getItemCount(){ 返回listData.size(); } }
我从数据库中删除了商品价格中的PHP,但仍然得到相同的错误:(验证您的方法
order.getPrice()
返回
“130”
,而不是类似
“130”
的东西是可解析的,
“130”
不是。我该怎么做?谢谢你的应用程序或
System.out.println()
你的变量。
class  CartViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener
    , View.OnCreateContextMenuListener {

    public TextView txt_cart_name,txt_price;
    public ImageView img_cart_count;

    private ItemClickListener itemClickListener;

    public void setTxt_cart_name(TextView txt_cart_name) {
        this.txt_cart_name = txt_cart_name;
    }

    public CartViewHolder(View itemView) {
        super(itemView);

        txt_cart_name = (TextView)itemView.findViewById(R.id.cart_item_name);
        txt_price = (TextView)itemView.findViewById(R.id.cart_item_Price);
        img_cart_count = (ImageView)itemView.findViewById(R.id.cart_item_count);

        itemView.setOnCreateContextMenuListener(this);

    }

    @Override
    public void onClick(View view) {

    }

    @Override
    public void onCreateContextMenu(ContextMenu contextMenu, View view, ContextMenu.ContextMenuInfo contextMenuInfo) {

        contextMenu.setHeaderTitle("Selecione uma Ação");
        contextMenu.add(0,0,getAdapterPosition(),Common.DELETE);
    }
}

public class CartAdapter extends RecyclerView.Adapter<CartViewHolder> {

    private List<Order> listData = new ArrayList<>();
    private Context context;

    public CartAdapter(List<Order> listData, Context context) {
        this.listData = listData;
        this.context = context;
    }

    @Override
    public CartViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        LayoutInflater inflater = LayoutInflater.from(context);
        View itemView = inflater.inflate(R.layout.cart_layout,parent,false);
        return new CartViewHolder(itemView);
    }

    @Override
    public void onBindViewHolder(CartViewHolder holder, int position) {
        TextDrawable drawable = TextDrawable.builder()
                .buildRound(""+listData.get(position).getQuantity(), Color.BLUE);
        holder.img_cart_count.setImageDrawable(drawable);

        Locale locale = new Locale("pt","BR");
        NumberFormat fmt = NumberFormat.getCurrencyInstance(locale);
        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());


    }


    @Override
    public int getItemCount() {
        return listData.size();
    }
}