AlertDialog.Builder 动态设置消息
AlertDialog.Builder dynamically setMessage
我正在尝试将消息动态设置为 AlertDialog.Builder,
但是当我 运行 应用程序时,没有显示任何消息。我希望消息根据用户在某些 editText 小部件上键入的文本进行更改。
任何建议表示赞赏。
private AlertDialog.Builder builder;
private AlertDialog dialog;
private CharSequence alertMessage;
// set AlertMessage
public CharSequence setAlertMessage() {
if (editText0.getText().toString().equals("το αγόρι") &&
editText1.getText().toString().equals("το κορίτσι") &&
editText2.getText().toString().equals("ένας άντρας") &&
editText3.getText().toString().equals("μια γυναίκα")) {
alertMessage = ("Συγχαρηρήρια! Πάτησε ΟΚ για να\nπροχωρήσεις στην επόμενη διεπαφή");
} else if (editText0.getText().toString().equals("το αγορι") &&
editText1.getText().toString().equals("το κοριτσι") &&
editText2.getText().toString().equals("ενας αντρας") &&
editText3.getText().toString().equals("μια γυναικα")) {
alertMessage = ("Μάλλον ξέχασες τους τόνους!\nΞαναπροσπάθησε");
} else if (editText2.getText().toString().equals("o άντρας") || editText2.getText().toString().equals("ο αντρας") &&
editText3.getText().toString().equals("η γυναίκα") || editText3.getText().toString().equals("η γυναικα")) {
alertMessage = ("Μάλλον ξέχασες τις αόριστες αντωνυμίες\n(ενας , μια)\nΠάτησε ΟΚ για να ξαναπροσπαθήσεις");
}
return alertMessage;
}
dialog = builder.create();
basicsBtn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (editText0.getText().toString().equals("το αγόρι") &&
editText1.getText().toString().equals("το κορίτσι") &&
editText2.getText().toString().equals("ένας άντρας") &&
editText3.getText().toString().equals("μια γυναίκα")) {
dialog.show();
}
else if (editText0.getText().toString().equals("το αγορι") &&
editText1.getText().toString().equals("το κοριτσι") &&
editText2.getText().toString().equals("ενας αντρας") &&
editText3.getText().toString().equals("μια γυναικα")) {
dialog.show();
}
else if (editText2.getText().toString().equals("o άντρας") || editText2.getText().toString().equals("ο αντρας") &&
editText3.getText().toString().equals("η γυναίκα") || editText3.getText().toString().equals("η γυναικα")) {
dialog.show();
}
else {
Toast.makeText(getApplicationContext(),"Έκανες κάποιο λάθος!Ξαναπροσπάθησε.",Toast.LENGTH_SHORT).show();
}
}
});
builder.setMessage(setAlertMessage());
构建对话框时,您必须通过方法 create()
从 Builder
class 创建它们,然后您必须通过方法 show()
从 Dialog
class。
您必须更改在单击后显示对话框的方式:
basicsBtn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (editText0.getText().toString().equals("το αγόρι") &&
editText1.getText().toString().equals("το κορίτσι") &&
editText2.getText().toString().equals("ένας άντρας") &&
editText3.getText().toString().equals("μια γυναίκα")) {
new AlertDialog.Builder(YourActivity.this).setMessage(setAlertMessage()).create().show();
}
else if (editText0.getText().toString().equals("το αγορι") &&
editText1.getText().toString().equals("το κοριτσι") &&
editText2.getText().toString().equals("ενας αντρας") &&
editText3.getText().toString().equals("μια γυναικα")) {
new AlertDialog.Builder(YourActivity.this).setMessage(setAlertMessage()).create().show();
}
else if (editText2.getText().toString().equals("o άντρας") || editText2.getText().toString().equals("ο αντρας") &&
editText3.getText().toString().equals("η γυναίκα") || editText3.getText().toString().equals("η γυναικα")) {
new AlertDialog.Builder(YourActivity.this).setMessage(setAlertMessage()).create().show();
}
else {
Toast.makeText(getApplicationContext(),"Έκανες κάποιο λάθος!Ξαναπροσπάθησε.",Toast.LENGTH_SHORT).show();
}
}
我正在尝试将消息动态设置为 AlertDialog.Builder, 但是当我 运行 应用程序时,没有显示任何消息。我希望消息根据用户在某些 editText 小部件上键入的文本进行更改。 任何建议表示赞赏。
private AlertDialog.Builder builder;
private AlertDialog dialog;
private CharSequence alertMessage;
// set AlertMessage
public CharSequence setAlertMessage() {
if (editText0.getText().toString().equals("το αγόρι") &&
editText1.getText().toString().equals("το κορίτσι") &&
editText2.getText().toString().equals("ένας άντρας") &&
editText3.getText().toString().equals("μια γυναίκα")) {
alertMessage = ("Συγχαρηρήρια! Πάτησε ΟΚ για να\nπροχωρήσεις στην επόμενη διεπαφή");
} else if (editText0.getText().toString().equals("το αγορι") &&
editText1.getText().toString().equals("το κοριτσι") &&
editText2.getText().toString().equals("ενας αντρας") &&
editText3.getText().toString().equals("μια γυναικα")) {
alertMessage = ("Μάλλον ξέχασες τους τόνους!\nΞαναπροσπάθησε");
} else if (editText2.getText().toString().equals("o άντρας") || editText2.getText().toString().equals("ο αντρας") &&
editText3.getText().toString().equals("η γυναίκα") || editText3.getText().toString().equals("η γυναικα")) {
alertMessage = ("Μάλλον ξέχασες τις αόριστες αντωνυμίες\n(ενας , μια)\nΠάτησε ΟΚ για να ξαναπροσπαθήσεις");
}
return alertMessage;
}
dialog = builder.create();
basicsBtn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (editText0.getText().toString().equals("το αγόρι") &&
editText1.getText().toString().equals("το κορίτσι") &&
editText2.getText().toString().equals("ένας άντρας") &&
editText3.getText().toString().equals("μια γυναίκα")) {
dialog.show();
}
else if (editText0.getText().toString().equals("το αγορι") &&
editText1.getText().toString().equals("το κοριτσι") &&
editText2.getText().toString().equals("ενας αντρας") &&
editText3.getText().toString().equals("μια γυναικα")) {
dialog.show();
}
else if (editText2.getText().toString().equals("o άντρας") || editText2.getText().toString().equals("ο αντρας") &&
editText3.getText().toString().equals("η γυναίκα") || editText3.getText().toString().equals("η γυναικα")) {
dialog.show();
}
else {
Toast.makeText(getApplicationContext(),"Έκανες κάποιο λάθος!Ξαναπροσπάθησε.",Toast.LENGTH_SHORT).show();
}
}
});
builder.setMessage(setAlertMessage());
构建对话框时,您必须通过方法 create()
从 Builder
class 创建它们,然后您必须通过方法 show()
从 Dialog
class。
您必须更改在单击后显示对话框的方式:
basicsBtn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (editText0.getText().toString().equals("το αγόρι") &&
editText1.getText().toString().equals("το κορίτσι") &&
editText2.getText().toString().equals("ένας άντρας") &&
editText3.getText().toString().equals("μια γυναίκα")) {
new AlertDialog.Builder(YourActivity.this).setMessage(setAlertMessage()).create().show();
}
else if (editText0.getText().toString().equals("το αγορι") &&
editText1.getText().toString().equals("το κοριτσι") &&
editText2.getText().toString().equals("ενας αντρας") &&
editText3.getText().toString().equals("μια γυναικα")) {
new AlertDialog.Builder(YourActivity.this).setMessage(setAlertMessage()).create().show();
}
else if (editText2.getText().toString().equals("o άντρας") || editText2.getText().toString().equals("ο αντρας") &&
editText3.getText().toString().equals("η γυναίκα") || editText3.getText().toString().equals("η γυναικα")) {
new AlertDialog.Builder(YourActivity.this).setMessage(setAlertMessage()).create().show();
}
else {
Toast.makeText(getApplicationContext(),"Έκανες κάποιο λάθος!Ξαναπροσπάθησε.",Toast.LENGTH_SHORT).show();
}
}