2012-01-02 14 views
12

के लिए टेक्स्ट वॉचर कार्यान्वित करना मेरे पास एक संपादन टेक्स्ट है। जब मैं उस पर क्लिक करता हूं, तो यह ध्यान केंद्रित हो जाता है। मैं EditText में प्रवेश करने के लिए इनपुट टेक्स्ट टाइप करूंगा। मैं एडिटटेक्स्ट के लिए श्रोता को कार्यान्वित करना चाहता हूं, ताकि जब मैं टाइपिंग रोकूं, तो उसे बटन को रखने के बजाय स्वचालित रूप से उस टेक्स्ट को डेटाबेस में सहेजना चाहिए। एडिटटेक्स्ट के लिए श्रोता कैसे है यह सुनने के लिए कि टाइपिंग बंद है या नहीं?एडिटटेक्स्ट

उत्तर

14

सेट edittext imeOption

editText.setImeOptions(EditorInfo.IME_ACTION_DONE); 

कुछ इस तरह का उपयोग करके,

editText.setOnEditorActionListener(new TextView.OnEditorActionListener() { 
    @Override 
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
     if (actionId == EditorInfo.IME_ACTION_DONE) { 
      // Specify your database function here. 
      return true; 
     } 
     return false; 
    } 
}); 

वैकल्पिक रूप से, आप OnEditorActionListener इंटरफ़ेस का उपयोग गुमनाम आंतरिक वर्ग से बचने के लिए कर सकते हैं।

+0

सत्य लौटने की बजाय झूठी लौटकर डोन क्लिक करने के बाद आप वर्चुअल कीबोर्ड को भी बंद कर सकते हैं। – Youness

38

इस तरह प्रयास करें।

EditText et = (EditText)findViewById(R.id.editText); 
Log.e("TextWatcherTest", "Set text xyz"); 
et.setText("xyz"); 

et.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) { 
     Log.e("TextWatcherTest", "afterTextChanged:\t" +s.toString()); 
    } 
}); 
+0

को इस जोड़े यह सही जवाब होना चाहिए। –

4

अपने editText

et1.addTextChangedListener(new TextWatcher() { 
     @Override 
     public void onTextChanged(CharSequence s, int start, int before, int count) { 

      // TODO Auto-generated method stub 
     } 

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

      // TODO Auto-generated method stub 
     } 

     @Override 
     public void afterTextChanged(Editable s) { 

      // TODO Auto-generated method stub 
     } 
    }); 
संबंधित मुद्दे