我有几个对话框,用户可以在其中来回切换。其中之一是带有editText的自定义对话框。我希望描述editText始终为空。我使用
description.setText("");
当我将描述文本编辑为例如"abcd"时,请移回DIALOG_THREE,然后再移到DIALOG_FOUR。description.setText(");未调用。更改后的文本"abcd"保留在编辑文本上。当我从一个对话框移动到另一个对话框时,专家们能建议我如何将其设置为空白吗。
@Override
@Deprecated
protected Dialog onCreateDialog(int id) {
Dialog dialog = null;
AlertDialog.Builder builder = new AlertDialog.Builder(this,
android.R.style.Theme_DeviceDefault_Light_DarkActionBar);
switch (id) {
case DIALOG_THREE:
builder.setCancelable(false);
builder.setTitle("Incident Catagory");
builder.setSingleChoiceItems(incidentCatagory, -1,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
builder.setPositiveButton("next",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
showDialog(DIALOG_FOUR);
}
});
builder.setNegativeButton("Back",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
showDialog(DIALOG_TWO);
}
});
return builder.create();
case DIALOG_FOUR:
LayoutInflater inflaterFour = this.getLayoutInflater();
final View inflatorFour = inflaterFour.inflate(
R.layout.dialog_incidents_four_description, null);
builder.setView(inflatorFour);
description = (EditText) inflatorFour.findViewById(R.id.etDescription);
description.setText("");
builder.setPositiveButton("Next", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
showDialog(DIALOG_FIVE);
String desc = description.getText().toString();
}
});
builder.setNegativeButton("Back", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
showDialog(DIALOG_THREE);
}
});
return builder.create();
非常感谢。
添加description.setText(");在DIALOG_THREE
的Next按钮的onClick()中。所以基本上你的DIALOG_THREE
会是这样的。
您只需要在DIALOG_THREE
的下一个按钮中设置description.setText("");
这个代码。
case DIALOG_THREE:
builder.setCancelable(false);
builder.setTitle("Incident Catagory");
builder.setSingleChoiceItems(incidentCatagory, -1,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
builder.setPositiveButton("next",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
showDialog(DIALOG_FOUR);
description.setText(""); // Add this line here
}
});
builder.setNegativeButton("Back",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
showDialog(DIALOG_TWO);
}
});
return builder.create();
在Next
和Back
按钮的onClick()
方法中添加description.setText("");
以清空edidtext。因此,您的DIALOG_FOUR
将如下。。。
case DIALOG_FOUR:
LayoutInflater inflaterFour = this.getLayoutInflater();
final View inflatorFour = inflaterFour.inflate(
R.layout.dialog_incidents_four_description, null);
builder.setView(inflatorFour);
description = (EditText) inflatorFour.findViewById(R.id.etDescription);
description.setText("");
builder.setPositiveButton("Next", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
showDialog(DIALOG_FIVE);
String desc = description.getText().toString();
description.setText("");
}
});
builder.setNegativeButton("Back", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
description.setText("");
showDialog(DIALOG_THREE);
}
});
return builder.create();