2012-02-07 21 views
6

संकलन नहीं होगा अंत में हो रही एंड्रॉयड फेसबुक एसडीके ठीक से this करने के लिए धन्यवाद आयात करने के लिए करने के बाद, मैंने पाया है कि ग्रहण FbDialog.java में onclick की ओवरराइड को नहीं पहचानता है:फेसबुक Android SDK स्रोत ग्रहण इंडिगो साथ

mCrossImage.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
     mListener.onCancel(); 
     FbDialog.this.dismiss(); 
    } 
}); 

न ही यह ServiceConnection

@Override 
public void onServiceConnected(ComponentName className, IBinder service) { 
    messageSender = new Messenger(service); 
    refreshToken(); 
} 

@Override 
public void onServiceDisconnected(ComponentName arg) { 
    serviceListener.onError(new Error("Service disconnected")); 
    // We returned an error so there's no point in 
    // keeping the binding open. 
    mAuthActivity.unbindService(TokenRefreshServiceConnection.this); 
} 

की TokenRefreshServiceConnection कार्यान्वयन सभी तीन तरीकों का कहना है कि में onServiceConnected और onServiceDisconnected की ओवरराइड पहचान करता है, चेतावनी में, उस विधि एक सु ओवरराइड चाहिए perclass विधि। मैंने अभी तक कोड को संशोधित नहीं किया है। मैंने जांच की कि ग्रहण संबंधित सुपरक्लास में समान प्रकार के रूप में पहचानता है, और मैंने आयात को व्यवस्थित करने के लिए नियंत्रण-शिफ्ट-ओ दबाकर कोशिश की है, जो एक ही समस्या के लिए this answer में सुझाई गई एक फिक्स थी।

ये ओवरराइड एसडीके का हिस्सा हैं, कोई अलग परियोजना नहीं। मैंने एंड्रॉइड एसडीके 2.2 का उपयोग करने के लिए प्रोजेक्ट स्थापित किया जैसा कि फेसबुक के निर्देशों पर दिखाया गया था, और 4.0.3, जो सैद्धांतिक रूप से, पिछले सभी संस्करणों के साथ संगत होना चाहिए। मुझे अभी तक काम करने के लिए फेसबुक का अपना कोड नहीं मिला है। एक साइड नोट के रूप में, क्या वहां एक जार है जिसका मैं उपयोग कर सकता हूं? यह बहुत आसान बना देगा।

उत्तर

15

अपनी परियोजना गुणों का आकलन -> जावा कंपाइलर कंपाइलर अनुपालन स्तर 1.5 पर सेट किया गया है, 1.6 (या उच्चतर) नहीं।

इसे बदलें।

Why is javac failing on @Override annotation

+0

ओह, मैंने सोचा कि मेरे पास 1.6/1.7 पर था। यह समस्या है जो मैं कर रहा हूं। धन्यवाद! – Poik

2

आलसी, तेज़ और आसान फिक्स @ ओवरराइड एनोटेशन को हटाने के लिए है। सही फिक्स यह जांचना है कि प्रोजेक्ट जावा 1.5 या उससे ऊपर के लिए संकलित है, ग्रहण से "फिक्स प्रोजेक्ट गुण" का उपयोग करने के लिए, और संभवतः यह जांचने के लिए कि फेसबुक लाइब्रेरी प्रोजेक्ट आपके प्रोजेक्ट के रूप में संकलित करने के लिए एक ही एंड्रॉइड एसडीके का उपयोग करता है।

+0

मुझे लगता है कि एक बिंदु पर है, लेकिन यह केवल इसे बनाया तो यह संकलन सकता है, नहीं चला था। मैं अपनी पोस्ट संपादित करूंगा, हालांकि, मैं उल्लेख कर सकता हूं कि मुझे फेसबुक एंड्रॉइड एसडीके खुद को संकलित करने के लिए नहीं मिल सकता है, न कि मेरी परियोजना। और मैंने विभिन्न एसडीके का उपयोग करने की कोशिश की है (विशेष रूप से, 2.2, और नवीनतम जो सभी पिछले, सैद्धांतिक रूप से संगत होना चाहिए), कोई भी काम नहीं किया। – Poik

+0

क्या आपने ग्रहण से 'समस्याएं' दृश्य की जांच की है? यह इंडिगो में डिफ़ॉल्ट रूप से नहीं दिखाया जाता है और आमतौर पर आपको आवश्यक सभी जानकारी – zrgiu

+0

होती है जो वास्तव में मुझे कुछ भी नहीं बताती है जिसे मैंने कोड में पहले से नहीं देखा था। "नया व्यू टाइप करने के लिए क्लिक (क्लिक) पर क्लिक करें। ओनक्लिक लिस्टनर() {} को एक सुपरक्लस विधि ओवरराइड करना चाहिए", "फेसबुक पर टाइप करने के लिए सेवा कनेक्ट (घटक नाम, आईबिन्डर) पर विधि। टोकन रिफ्रेश सर्विस सर्विस कनेक्शन को सुपरक्लास विधि ओवरराइड करना चाहिए", और "सेवा पर डिस्कनेक्ट की विधि (घटक नाम) फेसबुक का प्रकार। टोकन रिफ्रेश सेवा सेवा कनेक्शन को सुपरक्लास विधि ओवरराइड करना चाहिए "। – Poik

संबंधित मुद्दे