重置Android对话框

piw*_*iwi 1 android android-2.2-froyo android-dialog

我发现了很多关于如何保存对话框状态的主题,例如使用Bundle实例.但是,我似乎无法找到如何"正确"重置对话框.

考虑这个示例自定义对话框(XML布局带有ID为"input_text"的EditText):

public class CustomDialog extends Dialog {
  public CustomDialog (Context context) { super (context); }

  protected onCreate (Bundle savedInstanceState) {
    super.onCreate (savedInstanceState);

    setContentView(R.layout.input_query);
    EditText txt = (EditText) findViewById(R.id.input_text);

    // Consider that I'm declaring here the use of listeners
    // in order to retrieve input text.
  }
}
Run Code Online (Sandbox Code Playgroud)

在主Activity中单击按钮时,我弹出此对话框.第二次执行此操作时,我的EditText包含上一个实例的输入.

现在,我知道我可以重置此EditText的内容,但我想知道是否有一个通用的,已经存在的方法来执行此操作,对话框范围内.例如,如果我有一个更复杂的对话框,我希望每次实例化该对象时它都有"默认"值.我认为删除呼叫super.onCreate(savedInstanceState);可以做到这一点,但事实并非如此.

对不起,如果这是一个愚蠢的问题(或者如果已经解决了......我没有找到它)...任何帮助表示赞赏.非常感谢!

Ert*_* D. 5

通常你应该重写onCreateDialogonPrepareDialog活性的方法.

首次创建对话框时,onCreateDialog您应该在此方法中创建对话框.要初始化/更新对话框覆盖的内容,onPrepareDialog在显示对话框之前始终会调用它.