Toast in Try/Catch 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();
      }
     }

使用非常简单

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

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

尝试这种方式

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

我强烈建议使用Log内部捕获。

快乐的编码。

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

相关内容

  • 没有找到相关文章

最新更新