私は現在、AlertDialogsで作業しようとしています。ボタンの押下方法は?
現在のところ、AlertDialogにEditTextがあり、入力をIntegersのみに制限したいとします。私はNumberFormatExceptionフォームのクラッシュを避けるために、基本的なtryとcatchブロックを使用しました。
しかし、ユーザーが間違った入力でボタンを押すと入力が登録されず、ダイアログがキャンセルされないように設定したいと考えています。
UpperLimitDialog.setPositiveButton(R.string.Positive_Button, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int i) {
int RawInput = settings.getInt("UpperLimit", 12);
try {
RawInput = Integer.parseInt(input.getText().toString());
}catch (NumberFormatException se) {
Toast.makeText(SettingsMenu.this, "Non-Integer Value, No Input", Toast.LENGTH_SHORT).show();
//Here I want the app to not register the click and prevent the dialog box from closing.
}
editor.putInt("UpperLimit", RawInput);
editor.apply();
Toast.makeText(SettingsMenu.this, "Set Upper Limit to " + RawInput, Toast.LENGTH_SHORT).show();
}
});
これを行うにはどのような方法がありますか?
を試してみてください文字列値 –
私はカスタムXMLを使わずにそれを掻き集めることができたと思った。しかし、私はそうではないと思います。 –
これまでのところあなたがリノスの答えを試して、それが数字入力までの間に警告ダイアログを保つことができるようにしたい –