Android ListPopupWindow's method isShowing() does not work -


मैंने अपना कस्टम स्पिनर को TextView का विस्तार करके और ListPopupWindow । मैं मूल स्पिनर की निम्नलिखित कार्यक्षमता का अनुकरण करना चाहता हूं: जब स्पिनर को ड्रॉप डाउन सूची पर क्लिक किया जाता है, दूसरी बार स्पिनर को क्लिक किया जाता है ड्रॉप डाउन सूची को खारिज कर दिया जाता है। लेकिन मुझे कुछ परेशानी हो रही है, ListPopupWindow.is दिखा रहा है () हमेशा झूठे वापस आ रहा है (मैंने इसे डिबग किया है):

  पब्लिक क्लास कस्टमस्पिनर टेक्स्टव्यू विस्तारित करता है ... ... निजी लिस्टपोपअपने ड्रॉप डाउन पॉपअप; ... सार्वजनिक CustomSpinner (संदर्भ संदर्भ, AttributeSet attrs) {सुपर (संदर्भ, attrs); ... dropDownPopup = नया सूचीपॉपपॉइंट (संदर्भ, एटर्स); dropDownPopup.setAnchorView (this); dropDownPopup.setWidth (WindowManager.LayoutParams.WRAP_CONTENT); DropDownPopup.setOnItemClickListener (नई OnItemClickListener () {@Override सार्वजनिक शून्य पर आईटेमक्लिक (एडाप्टरव्यू & lt;? & Gt; माता पिता, दृश्य देखें, पूर्णांक स्थिति, लंबी आईडी) {dropDownPopup.dismiss (); ...}}); This.setOnClickListener (नया देखें। OnClickListener () {@Override सार्वजनिक शून्य पर क्लिक करें (देखें वी) {if (dropdownpopup.isShowing ()) {dropDownPopup.dismiss ();} else {dropDownPopup.show ();}}}); }   

तो, हर बार जब मैं स्पिनर पर क्लिक करता हूं तो ड्रॉप डाउन सूची दिखाई जाती है। यह तब खारिज कर दिया जाता है जब मैं सूची में से किसी एक आइटम पर क्लिक करता हूं। समस्या यह है कि dropDownPopup.is दिखा रहा है () हमेशा झूठे देता है।

dropDownPopup.setModal (सही) सेट करके, सब कुछ काम करता है।

Comments

Popular posts from this blog

asp.net - Procedure or function "Procedure name" expects a parameter "Param name" which was not supplied occurs rarely -

c# - The item with identity 'Id' already exists in the metadata collection. Parameter name: item -

c++ - Redefined variable in the other module -