私は非常に奇妙な問題を抱えています。私はダイアログにeditTextを持っています。私がダイアログを一度開いて(ListViewの要素をタップして)何かすべてのことをOKにしたら次回(ListViewの別の要素をタップする)ダイアログを開くと、editTextは最初の同じ値を表示します。EditTextは間違ったテキストを表示する
toast(profilesList.get(toEdit).get(NAME).toString()); //toast say Bob
et_profileName.setText(profilesList.get(toEdit).get(NAME).toString()); //I see Alice
もう1つ奇妙なことに、ディスプレイを回転させると「BobAlice」のテキストが変化します。ダイアログを閉じてからもう一度開くと、すべて正常に動作し、ダイアログに正しい文字列が表示されます。
提案がありますか?
EDIT: et_profileNameは、ListViewでアイテムをクリックすると開くダイアログにあります。私は、ダイアログを呼び出すとき
protected Dialog onCreateDialog(int id) {
dialog = new Dialog(this);
...
et_profileName= (EditText)dialog.findViewById(R.id.et_profileName);
...
}
ここにある:私はet_profileName.setText前
et_profileName= (EditText)dialog.findViewById(R.id.et_profileName);
を置けば
showDialog(DIALOG_EDIT_PROFILE);
toast(profilesList.get(toEdit).get(NAME).toString());
et_profileName.setText(profilesList.get(toEdit).get(NAME).toString());
も動作しません。(コードが
詳細...)
多分et_profileNameが最初のEditTextを参照しています – Rodrigo
ListView内のEditTextか、ListView内の項目をクリックすると開くダイアログにあります – Noel
私の提案はコードを追加することです。 –