簡體   English   中英

Android studio NumberFormatException 導致崩潰

[英]Android studio NumberFormatException causes crash

每當我嘗試運行我的活動時,我總是在線路上崩潰

total+=(Integer.parseInt(order.getPrice()))*(Integer.parseInt(order.getQuantity()));

實際上所有的 loadListFood 方法都崩潰了!

我的活動

public class Cart extends AppCompatActivity {
   RecyclerView recyclerView;
   RecyclerView.LayoutManager layoutManager;
   //
   FirebaseDatabase database;
   DatabaseReference requests;
   //
   TextView txtTotalPrice;
   Button btnPlace;

List<Order>  cart = new ArrayList<>();


CartAdapter adapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_cart);
        //// Firebase
        database = FirebaseDatabase.getInstance();
        requests = database.getReference("Requests");
        // INIT
        recyclerView =findViewById(R.id.listCart);
        recyclerView.setHasFixedSize(true);
        layoutManager  = new LinearLayoutManager(this);
        recyclerView.setLayoutManager(layoutManager);
        //
        txtTotalPrice =findViewById(R.id.total);
        btnPlace =findViewById(R.id.btnPlaceOrder);
      btnPlace.setOnClickListener(new View.OnClickListener() {
       @Override
        public void onClick(View v) {
           /// Create new Request
           showAlertDialoge();
        }
    });
        loadListFood();
    }



    private void loadListFood() {
        cart = new Database(this).getCarts();
        adapter = new CartAdapter(cart,this);
        recyclerView.setAdapter(adapter);
        //calculation

        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));

        }



    }

日志貓:

  java.lang.RuntimeException: Unable to start activity ComponentInfo{com.OverRout.app/com.OverRout.app.Cart}: java.lang.NumberFormatException: For input string: "Hunger "
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)
        at android.app.ActivityThread.-wrap12(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)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)
     Caused by: java.lang.NumberFormatException: For input string: "Okay"
        at java.lang.Integer.parseInt(Integer.java:521)
        at java.lang.Integer.parseInt(Integer.java:556)
        at com.OverRout.app.Cart.loadListFood(Cart.java:128)
        at com.OverRout.app.Cart.onCreate(Cart.java:66)
        at android.app.Activity.performCreate(Activity.java:6679)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) 
        at android.app.ActivityThread.-wrap12(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) 
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 

這里的這一行說明了問題所在:

引起:java.lang.NumberFormatException:對於輸入字符串:“好的”

您正在嘗試將字符串“好的”轉換為數字,但這永遠不會起作用,您需要某種數字,例如“65”。

如果這是一個輸入,您應該考慮將輸入設置為數字,然后鍵盤將沒有任何字母。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM