मैंने एक मेरे कस्टमाइज़ किए गए और जावा है: } और मेरे हो गया है, बस मेरे पसंदीदा कंटिस्टिस्ट गतिविधि में thae फोकस ChangeListner को ओवरराइट करना पड़ा EditText को अनुकूलित किया है, अब जब मैं
onFocusChanged () का उपयोग करने का प्रयास करता हूं < / कोड> फ़ंक्शन में यह
देखें टी काम नहीं करता है यह क्यों हो रहा है?
EditText के लिए कोड:
& lt; EditText एंड्रॉइड: id = "@ + id / clearable_edit" एंड्रॉइड: layout_width = "fill_parent" एंड्रॉइड: layout_height = "wrap_content" एंड्रॉइड: paddingRight = "35dip" एंड्रॉइड: singleLine = "true" / & gt; & LT; बटन एंड्रॉयड: आईडी = "@ + id / clearable_button_clear" एंड्रॉयड: layout_width = "30dip" एंड्रॉयड: layout_height = "30dip" एंड्रॉयड: layout_alignParentRight = "true" एंड्रॉयड: layout_centerInParent = "true" एंड्रॉयड: layout_marginRight = "5dip" एंड्रॉयड : गुरुत्वाकर्षण = "केंद्र" एंड्रॉइड: टेक्स्ट = "@ स्ट्रिंग / क्रॉस" एंड्रॉइड: टेक्स्ट साइज़ = "12 एसपी" / & gt;
सार्वजनिक वर्ग ClearableEditText फैली RelativeLayout लागू करता OnFocusChangeListener {LayoutInflater inflater = बातिल; संपादन टेक्स्ट संपादन_टेक्स्ट; बटन btn_clear; निजी साफ़ करने योग्य संपादन संपादन पाठ; सार्वजनिक साफ़ करने योग्य एडिट टेक्स्ट (संदर्भ संदर्भ, अंतिम स्पष्टयोग्य संपादन पाठ संपादन) {सुपर (संदर्भ); लॉग। E ("===============", "प्रवेश किया"); This.editText = editText; } @Override सार्वजनिक शून्य onFocusChange (देखें वी, बूलियन hasFocus) {// TODO स्वत: निर्मित विधि ठूंठ Log.e ( "===============", "हो गया"); टोस्ट। मेकटेक्स्ट (getContext (), "डीएलएएनएसएजलैक्सज", टोस्ट। एलएनएनजीएचआईएचओआरटी)। दिखाएं (); } सार्वजनिक साफ़ करने योग्य संपादन पाठ (संदर्भ संदर्भ, AttributeSet attrs, int defStyle) {सुपर (संदर्भ, attrs, defStyle); अगर (! है InEditMode ()) initViews (); } सार्वजनिक साफ़ करने योग्य एडिट टेक्स्ट (संदर्भ संदर्भ, AttributeSet attrs) {सुपर (संदर्भ, एटर्स); // TODO Auto-generated constructor stub यदि (! IsInEditMode ()) initViews (); } सार्वजनिक साफ़णीय संपादन पाठ (संदर्भ संदर्भ) {सुपर (संदर्भ); // TODO Auto-generated constructor stub यदि (! IsInEditMode ()) initViews (); } शून्य initViews () {// TODO स्वत: उत्पन्न विधि स्टब inflater = (LayoutInflater) getContext ()। GetSystemService (संदर्भ। LEOUT_INFLATER_SERVICE); Inflater.inflate (R.layout.clearable_edit_text, ये, सच); Edit_text = (संपादन टेक्स्ट) findViewById (R.id.clearable_edit); Btn_clear = (बटन) ढूंढिए वीबीआईआईडी (आर.आईड.क्लाइरेबल_बटन_क्लायर); btn_clear.setVisibility (RelativeLayout.INVISIBLE); स्पष्ट पाठ(); showHideClearButton (); } शून्य सेट वैल्यू (स्ट्रिंग इशारा, इंट प्रकार) {edit_text.setHint (संकेत); edit_text.setInputType (प्रकार); } शून्य सेट वैल्यू (स्ट्रिंग इशारा) {edit_text.setHint (संकेत); } शून्य सेट वैल्यू (स्ट्रिंग इशारा, इंट टाइप, इंट लाइन) {edit_text.setHint (संकेत); edit_text.setInputType (प्रकार); edit_text.setMaxLines (रेखाएं); } शून्य क्लियर () {btn_clear.setOnClickListener (नई OnClickListener () {@Override सार्वजनिक शून्य onClick (देखें v) {// TODO स्वत: निर्मित विधि ठूंठ edit_text.setText ( "");}}); } Void showHideClearButton () {edit_text.addTextChangedListener (नया TextWatcher) {@Override सार्वजनिक शून्य पर टेस्ट चेंजेड (Charsequence s, int start, int before, int count) {// TODO स्वतः जनरेट किया गया विधि स्टब अगर (s.length () & gt ; 0) btn_clear.setVisibility (RelativeLayout.VISIBLE); बाकी btn_clear.setVisibility (RelativeLayout.INVISIBLE);} @Override सार्वजनिक शून्य beforeTextChanged (CharSequence रों, पूर्णांक शुरू, पूर्णांक गिनती, पूर्णांक के बाद) {// TODO स्वत: निर्मित विधि ठूंठ } @TextChanged (संपादन करने योग्य) के बाद @ ओवरराइड सार्वजनिक शून्य {// TODO स्वत: उत्पन्न विधि स्टब}}); } सार्वजनिक संपादन योग्य टेक्स्ट () (संपादन योग्य टेक्स्ट = edit_text.getText (); वापसी पाठ; } सार्वजनिक शून्य सेट पाठ (चार सस्वर पाठ) {edit_text.setText (text); }
onFocusChange समारोह है:
email.setOnFocusChangeListener (नई ClearableEditText ( GetApplicationContext (), ईमेल));
No comments:
Post a Comment