数値編集フィールドを使用したアラートダイアログ
-
13-10-2019 - |
質問
Edittextフィールドを備えたダイアログボックスを使用してユーザーに警告しています。
AlertDialog.Builder alert = new AlertDialog.Builder(this);
db.open();
Cursor f = db.getTitle(position + 1);
alert.setTitle("Age");
alert.setMessage("New age?");
// Set an EditText view to get user input
final EditText input = new EditText(this);
alert.setView(input);
input.setText(f.getString(3));
db.close();
alert.setPositiveButton("Change",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String age = input.getText().toString();
db.open();
Cursor ff = db.getTitle(position + 1);
db.updateTitle(ff.getLong(0), ff.getString(1),
ff.getString(2), age, ff.getString(4),
ff.getString(5));
db.close();
details();
age();
}
});
alert.setNegativeButton("Keep", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// do nothing
}
});
alert.show();
ユーザーが2桁の番号(文字、記号など)を入力できるようにする方法はありますか?
解決
いくつかの入力フィルターとキーリスナーを設定することをお勧めします EditText
, 、 そのようです:
input.setFilters(new InputFilter[] {
// Maximum 2 characters.
new InputFilter.LengthFilter(2),
// Digits only.
DigitsKeyListener.getInstance(), // Not strictly needed, IMHO.
});
// Digits only & use numeric soft-keyboard.
input.setKeyListener(DigitsKeyListener.getInstance());
他のヒント
数字である必要がある場合は、スピナーまたはドロップダウンリストだけを使用して表現してみませんか?テキストボックスよりも直感的でなければなりません。
所属していません StackOverflow