2011-08-26 6 views
7

ठीक है, मैं नरम कीबोर्ड को बंद करने से रोकने की कोशिश कर रहा हूं जब उपयोगकर्ता टेक्स्ट फ़ील्ड को संपादित करने के बाद "ठीक" बटन दबाएगा। दरअसल, जो मैं प्राप्त करने की कोशिश कर रहा हूं वह है: जब "ठीक" बटन दबाया जाता है, तो फ़ील्ड को पार्स किया जाता है और यदि मान्य होता है, तो यह दूसरी गतिविधि शुरू करता है। यह काफी आसान है।कुंजी दर्ज करते समय सॉफ्ट कीबोर्ड खोलें

लेकिन, जब फ़ील्ड मान्य नहीं है, तो मैं चाहता हूं कि सॉफ्ट कीबोर्ड खुला रहे। और यह ... एक नरक अधिक जटिल है। यदि कोई जानता है कि ऐसी चीज़ कैसे प्राप्त करें ...

अग्रिम धन्यवाद।

संपादित करें: ठीक बटन से मेरा क्या मतलब है सॉफ्ट कीबोर्ड से ठीक बटन है।

उत्तर

12

अपने पाठ क्षेत्र के लिए OnEditorActionListener संलग्न करें और अपने onEditorAction विधि, जब actionIdIME_ACTION_DONE के बराबर है से true लौट आते हैं। यह छुपा से नरम कुंजीपटल पाएगा: अपने EditText पर निर्भर करता है

EditText txtEdit = (EditText) findViewById(R.id.txtEdit); 
txtEdit.setOnEditorActionListener(new OnEditorActionListener() { 

    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
    if (actionId == EditorInfo.IME_ACTION_DONE) { 
     // your additional processing... 
     return true; 
    } else { 
     return false; 
    } 
    } 

}); 
+1

'एंड्रॉयड: imeOptions' मूल्य, आप' IME_NULL', 'IME_ACTION_GO' आदि के खिलाफ actionId जाँच करने के लिए – Idolon

+0

यह कोशिश की है और यह पूरी तरह से काम कर रहा है की आवश्यकता हो सकती! – Redwarp

+0

पूरी तरह से काम किया! इस के लिए देख रहा था। – zeitue

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

  • कोई संबंधित समस्या नहीं^_^