android - 如何删除 java.lang.numberformatexception : invalid double: ""

标签 android

我有一个方法可以获取数据库中的所有项目,但我不知道是什么问题,它总是说 java.lang.numberformatexception: invalid double: ""。任何帮助将不胜感激。

我的代码:

@Override
        public void processFinish(String s) {
            productList = new JsonConverter<Products>().toArrayList(s, Products.class);
            BindDictionary dic = new BindDictionary();

            dic.addStringField(R.id.tvName, new StringExtractor<Products>() {
                @Override
                public String getStringValue(Products item, int position) {
                    return item.name;
                }
            });
            dic.addStringField(R.id.tvDesc, new StringExtractor<Products>() {
                @Override
                public String getStringValue(Products item, int position) {
                    return item.description;
                }
            }).visibilityIfNull(View.GONE);

            dic.addStringField(R.id.tvPrice, new StringExtractor<Products>(){

                @Override
                public String getStringValue(Products item, int position) {
                    return ""+item.price;

                    //return String.valueOf(item.price);
                }
            });

            dic.addDynamicImageField(R.id.ivImage, new StringExtractor<Products>() {
                @Override
                public String getStringValue(Products item, int position) {
                    return item.img_url;
                }
            }, new DynamicImageLoader() {
                @Override
                public void loadImage(String url, ImageView img) {
                    //Set image
                    ImageLoader.getInstance().displayImage(url, img);
                }
            });

        }

Products.java

公共(public)类产品实现序列化{

@SerializedName("itemID")
public int id;

@SerializedName("productName")
public String name;

@SerializedName("descrt")
public String description;

@SerializedName("price")
public double price;

@SerializedName("my_img")
public String img_url;

提前致谢。

最佳答案

这个错误是因为你的 Products.java

在你的 Products.java 中有一个名为 price 的 double 类型属性,

当您将 json 对象转换为 java 对象时,两种类型必须相同。在你的情况下,

你得到一个

{ 
 ...
 price:"",
 ....
}

在你的 json 对象中。但在 Java 方面,它等待双倍值。您可以发送 price:0.0 而不是 price:""或编写您自己的转换器。

关于android - 如何删除 java.lang.numberformatexception : invalid double: "",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49382844/

相关文章:

android - 当我尝试通过线程启动另一个 Intent 时,我的初始屏幕背景没有显示

android - 在 Photoshop 文件中,字体大小是 20px,在 android 中,sp 是什么?是一样的吗?是指 20px= 20sp 还是其他?

android - Google Play 安全警报 - 您的应用使用了不安全的 HostnameVerifier 实现

java - 线程后的代码未执行

android - panic : Missing emulator engine program for 'arm' CPUS

android - UnsatisfiedLInkError 使用 NDK 链接到 FFMPEG

android - ListView 行中 ImageView 的圆角

java - 在 Queue<byte[]> 中录制语音并将其发送到服务器

java - 使用 getter setter 初始化 List

java - 在 Java 程序中的两个 HTTPClient 之间共享 session 的好方法是什么?