Try / Catch numberformatexception中的Toast

时间:2016-08-03 07:35:06

标签: android try-catch alertdialog toast numberformatexception

我想在我的Try / Catch中使用Toast但是当它捕获错误的输入时,toast不显示。我在代码中找不到错误,请在这里帮帮我。

这是包含try / catch块的代码的一小部分:

 else{
      try{
          Integer.parseInt(score_1.getText().toString());
          Integer.parseInt(score_2.getText().toString());
          ArrayList_matches.get(position_match).score_1 = score_1.getText().toString();
          ArrayList_matches.get(position_match).score_2 = score_2.getText().toString();
          adapter.notifyDataSetChanged();


      } catch(NumberFormatException ex) {
          Toast.makeText(Game_activity.this, "Wrong input, numbers only", Toast.LENGTH_LONG).show();
      }

     }

4 个答案:

答案 0 :(得分:0)

如此简单的使用

Toast.makeText(getApplicationContext(), "Wrong input, numbers only", Toast.LENGTH_LONG).show();

而不是

Toast.makeText(Game_activity.this, "Wrong input, numbers only", Toast.LENGTH_LONG).show();

如果您想调试,请使用

Log.d("TAG","YOUR MSG");

答案 1 :(得分:0)

为score1设置一些默认的整数值。

答案 2 :(得分:0)

试试这种方式

 try {

     Integer.parseInt(score_1.getText().toString());
     Integer.parseInt(score_2.getText().toString());
     ArrayList_matches.get(position_match).score_1 = score_1.getText().toString();
     ArrayList_matches.get(position_match).score_2 = score_2.getText().toString();
     adapter.notifyDataSetChanged();

 } catch(NumberFormatException ex) {

     runOnUiThread(new Runnable(){
     public void run() {
         Toast.makeText(Game_activity.this, "Wrong input, numbers only", Toast.LENGTH_LONG).show();
     });

 }

我强烈建议在catch中使用Log

快乐的编码。

答案 3 :(得分:0)

可能不是NumberFormatException。请提供非数字格式的错误输入,