ユーザーがIntegerデータ型よりも大きな数値を入力すると、AlertDialogからNumberFormatExceptionをキャッチしようとしています。私は次のコードを試しましたが、私は成功を見出しませんでした。私はsetOnItemClickListenerメソッドで例外をキャッチしようとしています。AlertDialog入力からNumberFormatExceptionをキャッチする
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, final int position, long id) throws RuntimeException{
try{
builder= new AlertDialog.Builder(IzbiraHrane.this);
builder.setTitle("Enter your quantity");
// Set up the input
final EditText input = new EditText(IzbiraHrane.this);
// Specify the type of input expected; this, for example, sets the input as a password, and will mask the text
input.setInputType(InputType.TYPE_CLASS_NUMBER);
builder.setView(input);
// Set up the buttons
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
kolicina = input.getText().toString();
Intent returnIntent = new Intent();
returnIntent.putExtra("kolicina",kolicina);
returnIntent.putExtra("id",id_ji.get(position));
setResult(Activity.RESULT_OK,returnIntent);
finish();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.show();
}catch(Exception e){
Toast.makeText(IzbiraHrane.this, "something", Toast.LENGTH_SHORT).show();
}
}
});
私はAndroidとJavaにも新しいので、あなたの答えでこれを考慮してください:) –
@OusmaneMahyDiawこれは、エラーが発生したときにアンドロイドスタジオでNumberFormatExceptionを見たときにわかったことです。次に、あなたはどんな例外を提案しますか? –