首页 文章

java.lang.NumberFormatException:null(Android Studio中的错误)

提问于
浏览
0

我'm getting this error below. I'm从 firebasesqlite 浏览器中检索我的数据库 . 希望你们能帮助我解决这个问题 .

先感谢您!

这是我的 Database.java

public class Database extends SQLiteAssetHelper {

    private static final String DB_NAME="coolblogDB.db";
    private static final int DB_VER=1;


    public Database(Context context) { super(context, DB_NAME, null, DB_VER); }

    public List<Order> getCarts() {
        SQLiteDatabase db = getReadableDatabase();
        SQLiteQueryBuilder qb = new SQLiteQueryBuilder();

        String[] sqlSelect = {"ProductId", "ProductName", "Quantity", "Price", "Discount"};
        String sqlTable = "OrderDetail";

        qb.setTables(sqlTable);
        Cursor c = qb.query(db, sqlSelect, null, null, null, null, null);

        final List<Order> result = new ArrayList<>();
        if (c.moveToFirst()) {
            do {
                result.add(new Order(c.getString(c.getColumnIndex("ProductId")),
                        c.getString(c.getColumnIndex("ProductName")),
                        c.getString(c.getColumnIndex("Quantity")),
                        c.getString(c.getColumnIndex("Price")),
                        c.getString(c.getColumnIndex("Discount"))
                ));
            } while (c.moveToNext());
        }
        return result;
    }

    public void addToCart(Order order)
    {
        SQLiteDatabase db = getReadableDatabase();
        String query = String.format("INSERT INTO OrderDetail(ProductId,ProductName,Quantity,Price,Discount) VALUES('%s','%s','%s','%s','%s');",
                order.getProductId(),
                order.getProductName(),
                order.getQuantity(),
                order.getPrice(),
                order.getDiscount());
        db.execSQL(query);
    }

    public void cleanCart()
    {
        SQLiteDatabase db = getReadableDatabase();
        String query = String.format("DELETE FROM OrderDetail");
        db.execSQL(query);
    }
}

这是我的 logcat

10-15 13:48:34.439 12860-12860 / com.example.mariamsyafiqah.coolblog2 E / AndroidRuntime:FATAL EXCEPTION:main进程:com.example.mariamsyafiqah.coolblog2,PID:12860 java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.mariamsyafiqah.coolblog2 / com.example.mariamsyafiqah.coolblog2.Cart}:java.lang.NumberFormatException:null at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)at android.app.ActivityThread .handleLaunchActivity(ActivityThread.java:2726)位于android.app.Handler.dispatchMessage(Handler)的android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1477)上的android.app.ActivityThread.-wrap12(ActivityThread.java) .java:102)在android.app.Looper.loop(Looper.java:154)的android.app.ActivityThread.main(ActivityThread.java:6119)at java.lang.reflect.Method.invoke(Native Method)at at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)Cau sed by:java.lang.NumberFormatException:java.lang.Integer.parseInt(Integer.java:483)中的null,位于com.example.mariamsyafiqah.coolblog2.Cart的java.lang.Integer.parseInt(Integer.java:556) .loadListDrink(Cart.java:128)位于android.app.Instrumentation的android.app.Activity.performCreate(Activity.java:6679)的com.example.mariamsyafiqah.coolblog2.Cart.onCreate(Cart.java:71) . 在Android.app.A活动中调用android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)的callActivityOnCreate(Instrumentation.java:1118)在android.app.ActivityThread.-wrap12上的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)(ActivityThread . java)at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1477)at android.os.Handler.dispatchMessage(Handler.java:102)at android.os.Looper.loop(Looper.java:154)at android.app.ActivityThread.main(ActivityThread.java:6119)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

1 回答

  • 0

    检查你的Cart.java第128行,如下面的错误说:

    java.lang.NumberFormatException:java.lang.Integer.parseInt(Integer.java:483)中的null,位于java.lang.Integer.parseInt(Integer.java:556),位于com.example.mariamsyafiqah.coolblog2.Cart.loadListDrink (Cart.java:128)at

    有这样的行:

    int val = Integer.parseInt(stringValue);
    

    如果您的stringValue为null或为空,则会抛出错误 . 您需要先检查字符串是否正确

相关问题