2013-08-30 4 views
7

मैं DialogFragmentListView (सभी ग्राहक सूचीबद्ध करने के लिए) और EditText (सूची से खोजने के लिए) का उपयोग कर रहा हूं, यह ठीक काम कर रहा है। लेकिन, जब भी खंड खंड से दिखाता है, कीबोर्ड हमेशा दिखाया जाता है और उपयोगकर्ता को इस्तीफा देने की आवश्यकता होती है। संवाद खंड दिखाते समय पहली बार इसे छिपाने का कोई तरीका है? फिर, जब उपयोगकर्ता संपादन टेक्स्ट पर क्लिक करता है, तो कीबोर्ड दिखाना चाहिए।टैबलेट पर DialogFragment दिखाते समय कीबोर्ड छुपाएं?

मैंने अपने एक्सएमएल में android:focusable="false" सेट करने का प्रयास किया है, लेकिन EditText पर क्लिक करने के बाद यह हमेशा कीबोर्ड को छुपाता है।

तब मैं android:focusableInTouchMode="true" स्थापित करने की कोशिश की लेकिन, एक ही हो रही

+0

इस [पोस्ट] पर एक नज़र डालें (http://stackoverflow.com/questions/1555109/stop-edittext-from-gaining-focus-at-activity-startup) –

+0

http://stackoverflow.com/questions/1555109/stop-edittext-from-gaining-focus-at-activity-startup – RVG

+0

धन्यवाद दोस्तों इसे जांचेंगे और आपको बताएंगे कि @ गणेश – krishh

उत्तर

16

अपने DialogFragment onCreateView में() निम्नलिखित जोड़ें:

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
        Bundle savedInstanceState) 
{ 
View view = super.onCreateView(inflater, container, savedInstanceState); 
//to hide keyboard when showing dialog fragment 
getDialog().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN); 
return view; 
} 
+0

बहुत बढ़िया है। मैंने उन सभी अन्य पोस्टों को देखा था जो सिर्फ गतिविधियों के साथ निपटाते थे और इससे कोई फर्क नहीं पड़ता कि टुकड़ों से निपटने के दौरान मैंने इसे कहाँ रखा था, यह काम नहीं करता .. getDialog() बनाम प्राप्त करें सक्रियता() मेरे लिए महत्वपूर्ण थी। धन्यवाद! – James

+0

यह तब काम नहीं करता है जब संवाद एंड्रॉइड 4.4 में 'डेटापिकरफ्रैगमेंट' है, और मैंने छुपा कीबोर्ड विधि को 'ऑनर्यूम()' विधि में रखा है और यह काम करता है। वैसे भी, thx। – DysaniazzZ

1

ऊपर के रूप में यह आपकी समस्या का समाधान करना चाहिए

android:windowSoftInputMode="stateHidden" 

या

android:windowSoftInputMode="stateUnchanged" 
संबंधित मुद्दे