たとえば、バンドルインスタンスを使用して、ダイアログの状態を保存する方法に関するトピックをたくさん見つけました。ただし、ダイアログを「適切に」リセットする方法が見つからないようです。
このサンプルカスタムダイアログについて考えてみます(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.
}
}
メインのアクティビティでボタンがクリックされると、このダイアログがポップアップ表示されます。このアクションが2回目に発生すると、EditTextに前のインスタンスからの入力が含まれます。
これで、このEditTextのコンテンツをリセットできることがわかりましたが、ダイアログ全体でこれを行うための一般的な既存のメソッドがあるかどうか疑問に思っています。たとえば、より複雑なダイアログがある場合、このオブジェクトがインスタンス化されるたびに「デフォルト」値を設定する必要があります。の呼び出しを削除することでうまくいくと思いましたsuper.onCreate(savedInstanceState);
が、そうではありません。
これがばかげた質問である場合(またはすでに対処されている場合...私はそれを見つけられませんでした)...どんな助けでもありがたいです。どうもありがとう!