ボタンをクリックするとポップアップメニューが表示されます。そのメニューでは、ユーザーは「Assignment Name」を入力することができます。「Assignment Name」は文字列、「Grade」、「Max Points Available」は数字です。 ここでは、ユーザーが何も入力しないか、またはいずれかのEditTextフィールドにnull
が入力されていることを確認します。有効な入力が入力されるまでOK
ボタンを無効にする方法があります。以下は、ポップアップがどのように見えるかの写真です。以下はAndroid:特定の条件でAlertDialogBuilderのOKボタンを無効にする
また、私は「割り当て名は」すでに私のデータベースに存在する場合、「OK」ボタンを無効にしたいMainActivity
Button add = (Button)findViewById(R.id.addBtn);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view){
LayoutInflater li = LayoutInflater.from(context);
View promptsView = li.inflate(R.layout.add_individual_name, null);
AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(context);
alertDialogBuilder.setView(promptsView);
final EditText assignmentName = (EditText) promptsView.findViewById(R.id.enteredIndividualName);
final EditText gradeReceived = (EditText) promptsView.findViewById(R.id.enteredUserGrade);
final EditText maxPoints = (EditText) promptsView.findViewById(R.id.enteredMaxPoints);
alertDialogBuilder.setCancelable(false)
.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
String name = assignmentName.getText().toString();
String grade = gradeReceived.getText().toString();
String totalPossible = maxPoints.getText().toString();
checkIfNameAlreadyExists(name);
}
})
.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
final AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
}});
に私のコードです。私はアイテムがDBに存在するかどうかをチェックする関数を持っています。
XMLのコードをAlertDialog
などで確認したい場合は教えてください。
おかげ
お返事ありがとうございます。しかし、正確にどこのコードを置くのですか?私が 'alertDialogBuilder.setCancelable(false)'行の前に置くと "OK"ボタンが消えてしまい、その行の後に置くと効果はありません。 –
私の答え(最後のAlertDialog alertDialog = alertDialogBuilder.create(); alertDialog.show();の後)のようなコードブロックを入れてみてください –
これは私が期待したように完璧に機能しました。どうもありがとうございました! –