1
其實我正在檢查我的對話框中的一些值,如果他們是無效的我不想解僱我的對話框。不幸的是默認情況下當我按下提交按鈕我的對話框得到關閉:(我怎麼能逃脫? ??正按按鈕爲什麼dialogbox關閉?
LayoutInflater factory = LayoutInflater.from(EmailJavaAPI.this);
final View textEntryView = factory.inflate(R.layout.usrpwsdialog,null);
((EditText)textEntryView.findViewById(R.id.etxtUserName)).setText((((EditText)findViewById(R.id.editTextFrom)).getText()).toString());
final EditText usrName = (EditText)textEntryView.findViewById(R.id.etxtUserName);
final EditText usrPws = (EditText)textEntryView.findViewById(R.id.etxtPws);
//AlertDialog alert=new AlertDialog(EmailJavaAPI.this);
return new AlertDialog.Builder(EmailJavaAPI.this)
.setTitle(R.string.kpsdomain)
.setView(textEntryView)
.setPositiveButton(R.string.dgbtnsubmit,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
userName = usrName.getText().toString().trim();
userPws = usrPws.getText().toString().trim();
((EditText)findViewById(R.id.editTextFrom)).setText(userName);
if(userName.equals("")){
textEntryView.findViewById(R.id.txtVWRUserName).setVisibility(View.VISIBLE);
}
if(userPws.equals("")){
textEntryView.findViewById(R.id.txtVWRPws).setVisibility(View.VISIBLE);
}
if(!userName.equals("")&& !userPws.equals("")){
Toast.makeText(EmailJavaAPI.this, "User Name and Password has been set up", Toast.LENGTH_SHORT).show();
}
else{
//***IMPORTANT***
//Dialog Should be opened if this condition is true
}
}
})
.setNegativeButton(R.string.dgbtnDiscard,
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int whichButton) {
dialog.dismiss();
}
}).create();
Thanks.let我清楚,如果我沒有在positive.setOnClickListener設置removeDialog(0)...然後將它關閉對話框呢?其實當我按下按鈕,正應該對話框無法關閉。 –
我說覆寫onCreateDialog(int id)。它會解決你的問題。 –
謝謝維內特舒克拉... –