2011-03-08 13 views
5

मैं आभासी कुंजीपटल प्रदर्शित करने के लिए जब आवेदन शुरू होता है की जरूरत है, लेकिन अभी तक मैं विफल रहा है।एंड्रॉयड दिखाएँ नरम कीबोर्ड जब प्रथम गतिविधि शुरू होता है?

मैं "OnCreate" वर्चुअल कीबोर्ड

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
    imm.toggleSoftInput(txtBuscar.getId(), InputMethodManager.SHOW_FORCED); 

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

मैंने कोशिश की जब मैं एक और गतिविधि शुरू करता हूं और यह काम करता है, लेकिन जब मैं "पहली" गतिविधि शुरू करता हूं तो काम नहीं करता है।

मैंने इस कोड को "ऑनक्रेट" और कई अन्य घटनाओं में रखने की कोशिश की .... लेकिन ऐसा लगता है कि यह काम नहीं करता है।

क्या मैं एप्लिकेशन शुरू करते समय कीबोर्ड को प्रदर्शित करने के लिए "बल" करने के लिए वैसे भी है?

अग्रिम धन्यवाद। यदि गतिविधि पहले पृष्ठभूमि से लाया जाता है

उत्तर

24

मैं समाधान मिला:

txtPassword.postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       InputMethodManager keyboard = (InputMethodManager) 
       getSystemService(Context.INPUT_METHOD_SERVICE); 
       keyboard.showSoftInput(txtPassword, 0); 
      } 
     },200); 

धन्यवाद !!!

+0

पोर्ट्रेट मोड में केवल काम करने के लिए लगता है। जब मैं लैंडस्केप मोड पर स्विच करता हूं तो सॉफ्ट कीबोर्ड चालू होने से इंकार कर देता है। मैंने इसे दोनों तरीकों से आजमाया। गतिविधि से पहले लैंडस्केप मोड में फोन का शुभारंभ किया और परिदृश्य का उपयोग करने जा जब गतिविधि दिखाया गया है। आगे बढ़ने के बारे में कोई संकेत? –

+0

बढ़िया! क्या यह एंड्रॉइड बग है? ऑनस्यूम() पर रन कीबोर्ड का प्रयास कर रहा है, लेकिन पहली बार इस तरह के देरी के बिना शुरू नहीं हुआ – Sash0k

1

onCreate बुलाया नहीं किया जाएगा। क्या आपने उस कोड को रेज़्यूम में रखने की कोशिश की है?

ऑनक्रेट केवल तभी कॉल किया जाता है जब गतिविधि पहली बार शुरू होती है या गतिविधि मारे जाती है और उपयोगकर्ता फिर से गतिविधि पर नेविगेट करता है। तो अगर गतिविधि अभी भी जीवित लेकिन पृष्ठभूमि में है, यह onCreate फोन नहीं होंगे।

दूसरी ओर, पृष्ठभूमि से पृष्ठभूमि पर अग्रभूमि (स्क्रीन पर दृश्यमान) आने पर हर बार रेस्यूम कहा जाएगा।

यदि आप http://developer.android.com/reference/android/app/Activity.html रुचि रखते हैं तो गतिविधि जीवन चक्र से लिंक यहां दिया गया है।

उम्मीद है कि यह मदद करता है।

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