मुझे अनिवार्य रूप से एक मेनू है जहां आप हेडर पर क्लिक नहीं कर सकते हैं, लेकिन जब आप मेनू आइटम पर होवर करते हैं तो आप ड्रॉप डाउन एलिमेंट्स से चुन सकते हैं। प्रत्येक तत्व जी हैं: उनके साथ जुड़े ui फ़ील्ड के साथ एंकर टैग। मैं क्या होने की उम्मीद करता हूं, यह है कि जब कोई उपयोगकर्ता ड्रॉप डाउन तत्वों पर क्लिक करता है, तो उस क्षेत्र के लिए मेरा यूई हैंडलर आग लग जाएगा। यहां तक कि डिबगिंग और ब्रेक पॉइंट के साथ भी यह कभी हिट नहीं होता है।जीडब्ल्यूटी यूआईहैंडलर जी के लिए: एंकर फायरिंग नहीं कर रहा है
नीचे आपको कोड में चिंता का मुख्य क्षेत्र मिल जाएगा। मैं केवल यहां अपने जीडब्ल्यूटी आयात पोस्ट करूंगा, क्योंकि यह माना जा सकता है कि शून्य त्रुटियों के कारण बाकी सही हैं।
यहाँ
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">
<ui:UiBinder xmlns:ui='urn:ui:com.google.gwt.uibinder'
xmlns:g='urn:import:com.google.gwt.user.client.ui'
xmlns:cpcw='urn:import:org.collegeboard.pa.gwt.client.widget'>
<cpcw:ExtendedHTMLPanel>
<ul>
<li ui:field="juniorHigh"><g:Anchor href="">Junior High</g:Anchor>
<ul>
<li><g:Anchor href="#" ui:field="juniorHighFall">Fall</g:Anchor></li>
<li><g:Anchor href="#" ui:field="juniorHighSpring">Spring</g:Anchor></li>
<li><g:Anchor href="#" ui:field="juniorHighSummer">Summer</g:Anchor></li>
</ul>
</li>
</ul>
</cpcw:ExtendedHTMLPanel>
</ui:UiBinder>
और फिर यहाँ पर जा रहा है की एक विचार प्राप्त करने के लिए एक XML टुकड़ा है मेरी जावा वर्ग से टुकड़े
आयात
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.LIElement;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.uibinder.client.UiHandler;
import com.google.gwt.user.client.ui.Anchor;
Ui फील्ड्स
हैं@UiField
protected LIElement juniorHigh;
@UiField
protected Anchor juniorHighFall;
@UiField
protected Anchor juniorHighSpring;
@UiField
protected Anchor juniorHighSummer;
Ui हैंडलर
@UiHandler({"juniorHighFall","juniorHighSpring","juniorHighSummer"})
public void handleMenuClick(ClickEvent event)
{
DisplayUtil.displayAlertMessage(event.toString());
}
प्रारंभ
@Override
public void initializeBinder()
{
initWidget(ourUiBinder.createAndBindUi(this));
}
अब, UiHandler वास्तव में मारा जाता है कभी नहीं। मेरे पास जी है: एंकर टैग्स के साथ और बिना टैग, और उन्हें जी के रूप में भी कोशिश की है: हाइपरलिंक और जी: बिना सफलता के बटन। ऐसा लगता है जैसे उईहैंडलर भी वहां नहीं है।
किसी भी मदद की सराहना की जाएगी, और अगर आपको लगता है कि आपको समस्या निवारण के लिए कुछ और चाहिए, तो कृपया मुझे बताएं !!
धन्यवाद :-)
संपादित करें:
बस सुनिश्चित करें कि यह स्पष्ट हो गया था बनाने के लिए, टेम्पलेट ui.xml फ़ाइल है कि इस ui.xml फ़ाइल में एक div में इस रखने था। जब मैंने इसे सरलपैनेल के साथ बदल दिया, तो सब कुछ उइहैंडलर के साथ काम करता था।
प्रतिक्रियाओं के लिए धन्यवाद!
हाँ, वे कस्टम कक्षाएं हैं, और मैं उनके साथ खोदना शुरू कर दूंगा ताकि यह देखने के लिए कि उनके साथ कुछ मजेदार चल रहा है या नहीं। आश्वासन के लिए धन्यवाद कि कोड काम करना चाहिए, क्योंकि वह मुझे दीवार चला रहा था! मैं सरलपैनेल को यह देखने के लिए एक शॉट भी दूंगा कि क्या यह चाल है! जवाब के लिए धन्यवाद! –
इसके अलावा, मैं इसे ऊपर उठाऊंगा, लेकिन मेरे पास अभी तक ऐसा करने के लिए पर्याप्त प्रतिष्ठा नहीं है ... (╯ ° □ °) ╯(┻━┻ –
सरलपैनल ने चाल की! टेम्पलेट xml पर इस विस्तारित HTMLPanel में, तत्व divs थे। मैंने divs को SimplePanels में बदल दिया है और सभी UiHandlers ठीक से काम कर रहे हैं। मेरे पास अभी भी आपके उत्तर को ऊपर उठाने के लिए पर्याप्त प्रतिष्ठा नहीं है, लेकिन धन्यवाद! :) –