2013-01-19 3 views
6

यहाँ एक संवाद के लिए अपने कोड है, मैं अगर एक से अधिक 5 में संपादित-पाठ में पाठ का आकार और अगर यह सक्षम सकारात्मक बटन को निष्क्रिय करना चाहते आकार < = 5एंड्रॉयड addTextChangedListener (editext) में कुछ condion पर सकारात्मक बटन को निष्क्रिय

इस तरह
private void myDialog(String title) { 
      AlertDialog.Builder builder = new AlertDialog.Builder(context); 


      // Get the layout inflater 
      LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

      View dialogView = inflater.inflate(R.layout.new_dialog, null); 

      // Inflate and set the layout for the dialog 
      // Pass null as the parent view because its going in the dialog layout 
      builder.setView(dialogView); 

      final EditText dialogEdittext = (EditText) dialogView.findViewById(R.id.dialog_editText); 
      final TextView dialogMessage = (TextView) dialogView.findViewById(R.id.dialog_limit); 

      dialogEdittext.addTextChangedListener(new TextWatcher() { 

       @Override 
       public void onTextChanged(CharSequence s, int start, int before, int count) { 
       } 

       @Override 
       public void beforeTextChanged(CharSequence s, int start, int count, int after) { 
       } 

       @Override 
       public void afterTextChanged(Editable s) { 

        // if text length is greater than 5 disable positive button 
           // else enable 
       } 
      }); 

      builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int id) { 

      }); 

      builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int id) { 
       } 
      }); 

      final Dialog dialog = builder.create(); 
      dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE); 
      dialog.show(); 

     } 
+0

इस लिंक को देखें http://stackoverflow.com/questions/8238952/how-to-disable-enable-dialog-negative-possitive-buttons –

+0

मैंने पहले से ही यह लिंक देखा है, यह संवाद केवल एक बार बटन को निष्क्रिय/सक्षम करेगा बनाया गया, लेकिन मैं यह चाहता हूं कि हर बार जब उपयोगकर्ता edittext – Androider

+0

में एक वर्ण दर्ज करें, मैं इस तरह से कभी नहीं करता हूं। मैंने बटन के साथ कस्टम संवाद का उपयोग करके tihs किया है और उसमें सत्यापन की जांच करें। आप इस तरह से कर सकते हैं। इसे आजमाएं –

उत्तर

16

कोशिश कुछ:

@Override 
public void afterTextChanged(Editable s) { 
    if (s.length() > 5) { 
     dialog.getButton(Dialog.BUTTON_POSITIVE).setEnabled(false); 
    } else { 
     dialog.getButton(Dialog.BUTTON_POSITIVE).setEnabled(true); 
    } 
} 

जहां dialog है:

final AlertDialog dialog = builder.create(); 
+0

डायलॉग को हल नहीं किया जा सकता – Androider

+4

काम किया लेकिन मुझे dialogEdittext.addTextChangedListener ..... को नीचे ले जाना पड़ा .... dialog.show(); – Androider

+0

@SyedZahidAli यह आवश्यक था क्योंकि आपने 'संवाद' चर बनाने से पहले 'टेक्स्टवॉचर' घोषित किया था, इसलिए यह इसे नहीं देख सका। – Luksprog

संबंधित मुद्दे