edittextpreference संवाद में शून्य सत्यापन कैसे सेट करें ताकि यदि यह शून्य हो, तो उपयोगकर्ता ठीक क्लिक करने में सक्षम नहीं होना चाहिए और संवाद में कुछ संदेश प्रदर्शित होना चाहिए। मैं इसे लंबे समय तक ढूंढने की कोशिश कर रहा हूं लेकिन कोई सफलता नहीं ....edittextpreference संवाद में शून्य सत्यापन कैसे सेट करें
उत्तर
जब edittext अशक्त तो ठीक बटन अक्षम कर दिया जाएगा और जैसे ही पाठ दर्ज किया गया है यह सक्षम हो जाएगा ::
public class CustomEditTextPreference extends EditTextPreference implements
OnClickListener {
public CustomEditTextPreference(Context ctx, AttributeSet attrs, int defStyle)
{
super(ctx, attrs, defStyle);
}
public CustomEditTextPreference(Context ctx, AttributeSet attrs)
{
super(ctx, attrs);
}
private class EditTextWatcher implements TextWatcher
{
@Override
public void onTextChanged(CharSequence s, int start, int before, int count){}
@Override
public void beforeTextChanged(CharSequence s, int start, int before, int count){}
@Override
public void afterTextChanged(Editable s)
{
onEditTextChanged();
}
}
EditTextWatcher m_watcher = new EditTextWatcher();
/**
* Return true in order to enable positive button or false to disable it.
*/
protected boolean onCheckValue(String value)
{
if (value.trim().equals(""))
{
return false;
}
return true;
}
protected void onEditTextChanged()
{
boolean enable = onCheckValue(getEditText().getText().toString());
Dialog dlg = getDialog();
if(dlg instanceof AlertDialog)
{
AlertDialog alertDlg = (AlertDialog)dlg;
Button btn = alertDlg.getButton(AlertDialog.BUTTON_POSITIVE);
btn.setEnabled(enable);
}
}
@Override
protected void showDialog(Bundle state)
{
super.showDialog(state);
getEditText().removeTextChangedListener(m_watcher);
getEditText().addTextChangedListener(m_watcher);
onEditTextChanged();
}
}
मुझे लगता है कि आप जो खोज रहे हैं वह यह है। आप पूर्वनिर्धारित वरीयता डायलॉग (संपादन टेक्स्ट के साथ) का उपयोग कर रहे हैं और यह जांचना चाहते हैं कि टेक्स्ट शून्य है या नहीं। मेरे ज्ञान के मुताबिक, इस मामले में "टेक्स्ट" बदले गए हैं, इसलिए आप इसके साथ जा सकते हैं:
बस इसके लिए पर प्रीपेरेंस चेंज लिस्टर का उपयोग करें।
yourPreference.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(Preference preference, Object changedValue) {
if(changedValue == null) {
// handle it being null
return false;
} else {
return true;
}
}
});
अधिक उन्नत आवश्यकताओं के लिए, मैं सुझाव है कि आप अपने खुद के संवाद लागू और इसके अंदर, आप जो भी इच्छा है। आप .xml में वरीयता सूची प्रविष्टि को परिभाषित करके ऐसा कर सकते हैं और उसके बाद डायलॉग को उस पर क्लिक करके उत्पन्न कर सकते हैं।
Preference yourCustomPref = (Preference) findPreference("yourPref");
yourCustomPref.setOnPreferenceClickListener(new OnPreferenceClickListener() {
public boolean onPreferenceClick(Preference preference) {
// spawn your dialog here
return true;
}
});
यह अपने कस्टम EditText संवाद आप कैसे लागू कर सकता है:
public Builder buildDialog(final Context c) {
AlertDialog.Builder builder = new AlertDialog.Builder(c);
builder.setTitle("EditText Dialog");
builder.setMessage("Enter text:");
LinearLayout llV = new LinearLayout(c);
llV.setOrientation(1); // 1 = vertical
final EditText patName = new EditText(c);
patName.setHint("Enter text...");
LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT, 1f);
lp.bottomMargin = 20;
lp.rightMargin = 30;
lp.leftMargin = 15;
patName.setLayoutParams(lp);
llV.addView(patName);
builder.setView(llV);
builder.setPositiveButton("Save", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
if(patName.getText().toString().length() > 0) {
} else {
}
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
return builder;
}
और फिर इस तरह इसे कहते:
buildDialog(yourcontext).show();
ठीक है तो मैं आपको सलाह दूंगा कि आप संवाद को लागू करें स्वयं। मुझे जो कुछ भी आप चाहते हैं उसे प्राप्त करने में केवल कुछ मिनट लग सकते हैं। –
या मैं कर सकता हूं लेकिन सेटिंग्स के लिए (http://developer.android.com/guide/topics/ui/settings.html) संवाद अंतर्निहित हैं। –
बेशक। लेकिन जब वरीयता एक्टिविटी के अंदर सूची तत्व पर क्लिक करते हैं तो आप जो भी चाहें कर सकते हैं। उदाहरण के लिए अपना कस्टम संवाद दिखाएं और उन सभी चीजों को करें जो आप चाहते हैं। –
edttxtpref = (EditTextPreference) getPreferenceScreen().findPreference(
"edttxtkey");
edttxtpref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
@Override
public boolean onPreferenceChange(
android.preference.Preference preference, Object newValue) {
if (newValue.toString().trim().equals("")) {
Toast.makeText(getActivity(), "Username can not be empty",
Toast.LENGTH_LONG).show();
return false;
}
return true;
}
});
इस तरह सत्यापन किया जाता है और अगर हम संदेश को स्वयं संवाद में प्रदर्शित करना चाहते हैं, फिर फिल द्वारा पहले से बताए गए अनुसार एक कस्टम संवाद बनाया जाना चाहिए।
- 1. अलर्ट संवाद में संपादन टेक्स्ट बॉक्स पर शून्य सत्यापन - एंड्रॉइड
- 2. Jquery UI संवाद डिफ़ॉल्ट कैसे सेट करें
- 3. एंड्रॉइड संवाद स्थान सेट करें
- 4. EditTextPreference Inflate Exception
- 5. प्रगति संवाद में रद्द बटन कैसे सेट करें?
- 6. एक कस्टम संवाद में मार्जिन कैसे सेट करें?
- 7. वैकल्पिक तालिका, शून्य कॉलम में शून्य सेट करें, पोस्टग्रेएसक्यूएल 9.1
- 8. ऑब्जेक्ट! = शून्य सत्यापन
- 9. क्रॉस-सत्यापन के लिए सेट जेनरेट करें
- 10. 2 उपयोगकर्ता इनपुट फ़ील्ड के साथ EditTextPreference का उपयोग
- 11. फ़ोल्डर ब्राउज़र संवाद सेट करें स्थान
- 12. jQuery UI संवाद बटन आईडी सेट करें?
- 13. एंड्रॉइड समर्थन EditTextPreference इनपुट प्रकार
- 14. एमएफसी संवाद बटन पर व्यवस्थापकीय दाएं आइकन कैसे सेट करें?
- 15. एंड्रॉइड अलर्ट संवाद नकारात्मक बटन पर फ़ोकस कैसे सेट करें?
- 16. एंड्रॉइड एडिटटेक्स्ट वरीयता सत्यापन
- 17. संवाद आकार कैसे प्राप्त करें?
- 18. अंत में ब्लॉक में संदर्भ = शून्य सेट करें?
- 19. scipy.sparse: शून्य को पंक्ति सेट करें
- 20. gfortran में क्वाड परिशुद्धता का उपयोग और सत्यापन कैसे करें?
- 21. एंड्रॉइड स्टूडियो में सेटिंग गतिविधि कैसे सेट करें?
- 22. लिस्टफ्रैगमेंट कस्टम लेआउट के डिवाइडर (शून्य) को कैसे सेट करें
- 23. हाइबरनेट सत्यापन - केवल सत्यापित करें कि ऑब्जेक्ट शून्य नहीं है
- 24. एक विदेशी कुंजी कॉलम में शून्य मान सेट करें?
- 25. सीक्यूआरएस में सेट आधारित स्थिरता सत्यापन को कैसे संभालें?
- 26. सेमेन्टिक यूआई में कस्टम सत्यापन कैसे करें?
- 27. लार्वेल में सत्यापन संदेश कैसे अनुकूलित करें?
- 28. एंड्रॉइड 2.1 में दर्ज EditTextPreference के प्रारूप और मानों को आप कैसे सत्यापित करते हैं?
- 29. एंड्रॉइड में एक कस्टम संवाद का आकार कैसे प्राप्त करें?
- 30. सामग्री सेट करें कस्टम संवाद के लिए डिस्क्रिप्शन
thats क्या पूछ रहा हूँ ... यह कैसे करना है के रूप में मैं नहीं मिल रहा है है इस पर कुछ भी। आप मुझसे मेरे लिए एक कोड लिखने के लिए नहीं कह रहे हैं लेकिन यह बताने के लिए कि क्या करना है। –
@ weblado.at :: edittext और edittextpreference दो अलग-अलग चीजें हैं यदि आप जानते हैं। मुझे पता है कि संपादन पर सत्यापन कैसे सेट करें ..... और आपने मुझे सही ढंग से खोज को पढ़ने के बिना भी नीचे मतदान किया। –
मुझे लगता है कि आपने आखिरी पंक्ति नहीं पढ़ी है .... मैं इसे लंबे समय से ढूंढने की कोशिश कर रहा हूं लेकिन कोई सफलता नहीं .... मैंने आपके द्वारा दिए गए लिंक की कोशिश की है। समस्या यह है कि यह setonpreferencechangelistener नहीं कहा जाता है । –