我想在我的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();
}
}
答案 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。请提供非数字格式的错误输入,