android - meaning - संवाद लेखन इंग्लिश




संवाद के लिए सॉफ्ट कीबोर्ड दिखाएं (2)

ऐसा असंभव प्रतीत होता है।

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

यह भी ध्यान रखें कि हार्ड कुंजी वाले एमुलेटर पर परीक्षण SHOW_IMPLICIT या 0 ध्वज के लिए कीबोर्ड नहीं खुलता है।

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

InputMethodManager imm =
 (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(dialogField,0);

संवाद फ़ील्ड इनपुट फ़ील्ड है। हालांकि, जब मैं वास्तव में ऐसा करना चाहता हूं? मैंने संवाद की ऑनस्टार्ट () विधि में इसे आजमाया, लेकिन कुछ भी नहीं हुआ। मैंने पहले संवादफाइल के लिए फोकस का अनुरोध करने का भी प्रयास किया, लेकिन यह कुछ भी नहीं बदलता है।

मैंने इस कोड को भी आजमाया

dialogField.setOnFocusChangeListener(new View.OnFocusChangeListener()
{
    public void onFocusChange (View v, boolean hasFocus)
    {
        if (hasFocus)
        {
            Main.log("here");
            dialogInput.getWindow().setSoftInputMode(
              WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
            /*
                InputMethodManager mgr =
                  (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
                mgr.showSoftInput(dialogField,0);
            */
        }
    }
});

दोनों संस्करणों में। लेकिन कोई सॉफ्ट कीबोर्ड दिखाना नहीं चाहेगा। Main.log सिर्फ एक लॉग है, जो मुझे दिखाता है कि फ़ंक्शन वास्तव में कहा जाता है। और हाँ, इसे कहा जाता है।

डायलॉग खुलने से पहले मैं कीबोर्ड को SHOW_FORCED ध्वज के साथ प्राप्त कर सकता था। लेकिन फिर यह बाहर निकलने पर बंद नहीं होगा। और मैं संवाद से पहले ही ऐसा कर सकता हूं। किसी भी कॉलबैक के अंदर यह या तो काम नहीं करता है।


बहुत बढ़िया सवाल, मैं भी ऐसा करने की कोशिश कर रहा था और एक समाधान मिला।

संवाद बिल्डर वर्ग AlertDialog.Builder का उपयोग करके आपको इस तरह के संवाद का आह्वान करना होगा:

AlertDialog.Builder builder = new AlertDialog.Builder();
AlertDialog dialog;

builder.set...

dialog = builder.create();
dialog.getWindow().setSoftInputMode(LayoutParams.SOFT_INPUT_STATE_VISIBLE);
dialog.show();

यह मेरे लिए ठीक काम किया।

नोट: आपको import android.view.WindowManager.LayoutParams; करना होगा import android.view.WindowManager.LayoutParams; निरंतर मूल्य के लिए।





android-sdk-2.1