2012-11-21 6 views
11

मेरे पास मेरे ऐप में एक संपादन टेक्स्ट है। जब उपयोगकर्ता संपादन टेक्स्ट को छूता है तो पूरा टेक्स्ट चुना जाना चाहिए और जब वह टाइपिंग टेक्स्ट शुरू करता है तो उसे साफ़ किया जाना चाहिए। एक उदाहरण ब्राउज़र पता बार है। क्या ऐसा करने का कोई तरीका है? कृपया मेरी मदद करें। अपने main.xml फाइल करने के लिएएंड्रॉइड एडिटटेक्स्ट: उपयोगकर्ता टाइपिंग शुरू करते समय स्पर्श और साफ़ करते समय सभी टेक्स्ट का चयन करें।

+0

क्या आप कृपया मुझे बताएंगे, आप ऐसा क्यों करना चाहते हैं? – Ishtiaq

+2

एंड्रॉयड उपयोग करें: [इस] [1] edittext के अंदर सभी पाठ का चयन करने के लिए इस despra –

+0

आप क्या कर सकते हैं सक्षम संकेत कुंजीपटल के बाद = "text डायन आप प्रदर्शित करना चाहते" [1]: http://stackoverflow.com/a/4669511/1627599 – kittu88

उत्तर

23

आप

android:selectAllOnFocus और का उपयोग कर भी setSelectAllOnFocus(boolean)

+1

धन्यवाद। यह टेक्स्ट का चयन करता है लेकिन जब मैं फिर से कुंजीपैड प्रदर्शित करने के लिए संपादन टेक्स्ट पर स्पर्श करता हूं, तो टेक्स्ट साफ़ नहीं होता है। – user1767260

+0

यह जांचें [लिंक] (http://stackoverflow.com/a/4669519/1265724) –

2

विशेषता जोड़ें:

android:selectAllOnFocus="true" 

तो सभी पाठ का चयन किया जाएगा और जब उपयोगकर्ता प्रकार कुछ है कि उसे निकाल देंगे।

4

फोकस पर सभी टेक्स्ट का चयन करने के लिए EditText.setSelectAllOnFocus(boolean selectAllOnFocus) पर कॉल करें।

सेट अपने EditText करने और onClick कॉल में एक क्लिक श्रोता edittext.selectAll();

+0

लिखना शुरू करता है तो मैं पिछले डेटा को साफ़ करना चाहता हूं, अपने संपादन टेक्स्ट में एक क्लिक श्रोता सेट करें और ऑनक्लिक कॉल edittext.selectAll() पर क्लिक करें। – Ronnie

+0

धन्यवाद, यह उत्तर से बेहतर है, क्योंकि हो सकता है कि आप अपने ईटी को गतिविधि में आने पर तुरंत ध्यान केंद्रित न करें। लेकिन एक्सएमएल में 'ऑनक्लिक' करने के बजाय, मैंने अपनी ईटी गतिविधि में 'ऑनक्लिक लिस्टनर' सेट किया है, फिर 'ईटीक्लिक()' विधि को 'ईटीक्लिक()' विधि पर अपने ईटी पर 'selectAll() 'विधि डालें, और यह केवल तभी चुनें आप इसे क्लिक करें। – Azurespot

1

आप संपत्ति android:hint बजाय android:text उपयोग कर सकते हैं द्वारा EditText में सभी पाठ का चयन कर सकते हैं और आप जो विशेष कोड के साथ चाहते हैं उसे प्राप्त करें।

0

आप android:selectAllOnFocus या setSelectAllOnFocus(boolean) का उपयोग कर संपादन टेक्स्ट में सभी टेक्स्ट का चयन कर सकते हैं।

सभी टेक्स्ट चयनित होने पर ध्वज सेट करें। फिर अपने संपादन टेक्स्ट पर addTextChangedListener विधि का उपयोग करके टेक्स्ट परिवर्तन का पता लगाएं और अपनी कक्षा को TextWatcher कक्षा को कार्यान्वित करने वाले आंतरिक वर्ग को कार्यान्वित या परिभाषित करें।

इस वॉचर क्लास विधि में, आप जिस ध्वज को सेट करते हैं, उसे इंगित करने के लिए सेट करें कि सभी टेक्स्ट चुने गए हैं या नहीं। यदि सही है, तो TextView.setText("") करें। यह पाठ को साफ़ करेगा। अब ध्वज को फिर से झूठी पर सेट करें ताकि बाद के टेक्स्ट परिवर्तन टेक्स्ट को साफ़ नहीं कर पाएंगे।

0

यह काम कर रहा है, सभी पाठ चुने जाएंगे और जब उपयोगकर्ता ऐसा कुछ टाइप करेगा जो इसे हटा देगा।

   editText.setSelectAllOnFocus(true); 

      editText.requestFocus(); 
      editText.postDelayed(new Runnable() { 
       @Override 
       public void run() { 
        InputMethodManager keyboard = (InputMethodManager) catalougeJobDetailFragment 
          .getActivity().getSystemService(
            Context.INPUT_METHOD_SERVICE); 
        keyboard.showSoftInput(commentEt, 0); 
       } 
      }, 20);