我的子類DialogFragment顯示給用戶的輸入字段。保持DialogFragment打開,直到用戶輸入有效Android?
如果用戶沒有提供任何輸入,我想保持對話框打開並在輸入欄顯示錯誤。無論輸入字段是否爲空,用戶按下正確的「保存」按鈕時,對話框會自動解除。
如何覆蓋此默認行爲?
代碼片段(完整的代碼很長,但你的想法):
public class SurveySingleQuestionDialog extends DialogFragment implements DialogInterface.OnClickListener {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
return (builder.setTitle(mArgs.getString("question_body"))
.setView(layout)
.setPositiveButton(R.string.save, this)
.setNegativeButton(android.R.string.cancel, null)
.setCancelable(false)
.show());
}
@Override
public void onClick(DialogInterface dialog, int which) {
if(validInputs()){
//dismiss dialog and save inputs
}
else{
//show error on input field
}
}
}
什麼建議嗎?
您是否添加了斷點來檢查validInputs()的結果? – toadzky
工作正常,我可以看到紅色感嘆號,而對話框正在關閉......我的數據庫函數沒有(正確)觸發。 – Mirko