मैं सकारात्मक और रद्द बटन के साथ एक साधारण टेक्स्ट फ़ील्ड अलर्ट संवाद का उपयोग कर रहा हूं। मैं अपने अलर्ट संवाद को सत्यापित करना चाहता हूं और इनपुट को अमान्य होने पर किए गए बटन को AlertDialog को बंद करने से रोकना चाहता हूं।क्या AlertDialog को अमान्य इनपुट के साथ बंद करने से रोकने का कोई तरीका है?
क्या वैधता विफल होने पर पॉजिटिवबटन ऑनक्लिक() हैंडलर को संवाद बंद करने से रोकने के लिए कोई कस्टम संवाद बनाने का कोई तरीका नहीं है?
class CreateNewCategoryAlertDialog {
final EditText editText;
final AlertDialog alertDialog;
class PositiveButtonClickListener implements OnClickListener {
@Override
public void onClick(DialogInterface dialog, int which) {
String name = editText.getText().toString();
if(name.equals("")) {
editText.requestFocus();
editText.setError("Please enter a name");
// Some code to stop AlertDialog from closing goes here...
} else {
doSomethingUsefulWithName();
}
}
}
AlertDialog buildAlertDialog(Context context) {
return new AlertDialog.Builder(context)
.setTitle(context.getString(R.string.enter_name))
.setMessage(context.getString(R.string.enter_name_msg))
.setView(editText)
.setPositiveButton(context.getString(R.string.done), new PositiveButtonClickListener())
.setNegativeButton(context.getString(R.string.cancel), null).create();
}
}
क्षमा करें, मैं सिर्फ देखा यह [इस (अस्वीकृत) प्रश्न] का डुप्लिकेट है (http://stackoverflow.com/q/4785571/403455)। मैं इसे डुप्लिकेट के रूप में बंद कर दूंगा, लेकिन मैं एक बेहतर उत्तर की तलाश में हूं। अगर जवाब "नहीं" है, तो हो। –
अपना खुद का कस्टम संवाद बनाना [पिछले प्रश्नों] के आधार पर जाने का तरीका प्रतीत होता है (http://stackoverflow.com/questions/4016313/how-to-keep-an-alertdialog-open-after-button-onclick- है आधारित)। ऐसा लगता है कि यह सबसे आसान समाधान होगा, और यही वह है जो मुझे अतीत में करना पड़ा था। – theisenp
मैं आपका प्रश्न लिख रहा हूं। चलो देखते हैं कि डिस्प्लेलाइन बैज प्रश्नों पर लागू होता है :) – EboMike