我有一個對話框包含一個EditText,我想從中檢索值,但當我嘗試,我得到一個空字符串。 這是我的對話框代碼Android在對話框中獲取EditText值[空字符串返回]
public class PersonEditDialog extends DoubleActionDialog{
public PersonEditDialog() {
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
builder.setView(inflater.inflate(R.layout.activity_personne_edit, null))
.setPositiveButton(R.string.s_button_save, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
doAction();
}
})
.setNegativeButton(R.string.s_button_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
PersonEditDialog.this.getDialog().cancel();
}
});
builder.setTitle(getTitleId());
return builder.create();
}
@Override
public void doUpdate() {
// mise à jour de la personne
View view = getActivity().getLayoutInflater().inflate(R.layout.activity_personne_edit, null);
EditText nom = (EditText) view.findViewById(R.id.nom);
EditText prenom = (EditText) view.findViewById(R.id.prenom);
Toast.makeText(getActivity(), nom.getText() + " " + prenom.getText() + " mis à jour", Toast.LENGTH_SHORT).show();
}
@Override
public void doCreate() {
// ajout de la personne
View view = getActivity().getLayoutInflater().inflate(R.layout.activity_personne_edit, null);
EditText nom = (EditText) view.findViewById(R.id.nom);
EditText prenom = (EditText) view.findViewById(R.id.prenom);
Toast.makeText(getActivity(), nom.getText().toString() + " " + prenom.getText().toString() + " créé", Toast.LENGTH_SHORT).show();
}
@Override
protected int getUpdateLabelId() {
return R.string.s_title_edit_person;
}
@Override
protected int getCreateLabelId() {
return R.string.s_title_add_person;
}
}
的doAction()方法調用兩種方法之一:取決於參數的值doUpdate()或doCreate()。
doCreate()或doUpdate()試圖讀取EditText的內容。
我這樣做了,但返回的視圖爲空:/ – 2014-09-13 13:16:37
我按照你的建議使用了getDialog(),它工作正常。謝謝。不過,有一個問題,我沒有覆蓋的onCreateView()應該返回什麼? – 2014-09-13 13:27:36
它在常規片段中提供片段視圖層次結構。你有一個對話框片段。我首先想到的是正常的片段,然後纔讀取足夠的代碼才能看到它可能是對話框片段。 – laalto 2014-09-13 13:28:42