2012-09-04 19 views
5

मैं शेरलॉक एक्शन बार के एक सरल ट्यूटोरियल का अनुसरण कर रहा था। मैंने प्रत्येक चरण का पालन किया। समस्या यह है कि मुझे संस्करण 2.1 से 2.3 संस्करणों में त्रुटि मिल रही है और 4.0 से 4.1 पर ठीक काम कर रहा है।
मैं एंड्रॉयड एसडीके उपकरण 20.0.3 उपयोग कर रहा हूँ और ग्रहण संस्करण 4.2.04.0.3 और 4.1 पर काम कर रहा है लेकिन 2.1,2.2 और 2.3 पर त्रुटि - शेरलॉक एक्शन बार

setContentView(R.layout.activity_main); 

उपरोक्त कोड में यह R cannot be resolved to a variable कहते हैं।

enter image description here

enter image description here

मेरे मैनिफ़ेस्ट फ़ाइल है:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.action.bar" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="7" 
    android:targetSdkVersion="15" /> 
<uses-permission android:name="android.permission.INTERNET"/> 

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/Theme.Sherlock" > 
    <activity 
     android:name=".MainActivity" 
     android:label="@string/title_activity_main" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".Google"></activity> 
</application> 

[2012-09-04 22:18:21 - Action Bar demo] C:\Users\Karthick\Desktop\Project libs\JakeWharton-ActionBarSherlock-88fc341\library\res\values-v14\abs__styles.xml:4: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.ActionBar'. 
    [2012-09-04 22:18:21 - Action Bar demo] C:\Users\Karthick\Desktop\Project libs\JakeWharton-ActionBarSherlock-88fc341\library\res\values-v14\abs__styles.xml:6: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.ActionBar.Solid'. 
    [2012-09-04 22:18:21 - Action Bar demo] C:\Users\Karthick\Desktop\Project libs\JakeWharton-ActionBarSherlock-88fc341\library\res\values-v14\abs__styles.xml:8: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.Light.ActionBar'. 
    [2012-09-04 22:18:21 - Action Bar demo] C:\Users\Karthick\Desktop\Project libs\JakeWharton-ActionBarSherlock-88fc341\library\res\values-v14\abs__styles.xml:10: error: Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.Light.ActionBar.Solid'. 

बेहतर समझ के लिए, यहाँ कुछ चित्र हैं: और कुछ और त्रुटियों इस प्रकार हैं

किसी ने एंड्रॉयड 2,3

एक ही कोड में इन त्रुटियों को ठीक करने में मेरी मदद एंड्रॉयड 4.0.3

+1

मुझे लगता है कि @ केएडियिल सही है: अपनी परियोजना के निर्माण लक्ष्य को 4.0.3 या बाद में बदलें। कारण 'आर' को हल नहीं किया जा सकता है क्योंकि आपके संसाधन होलो थीम से संबंधित शैलियों के कारण संकलित नहीं होंगे जो जिंजरब्रेड में उपलब्ध नहीं थे। बिल्ड लक्ष्य का कोई संबंध नहीं है कि आपके ऐप किस डिवाइस के साथ संगत होगा; यह सब मेनिफेस्ट में न्यूनतम/maxSdkVersion के साथ परिभाषित किया गया है। –

+0

@ एमएच तो एंड्रॉइड 4.0.3 के लिए स्क्रीनशॉट http://twitpic.com/ar41l2/full है। त्रुटियाँ नहीं!! –

+0

@ एमएच और होलो थीम से संबंधित शैलियों के साथ मुझे क्या करना चाहिए ?? क्या यह एंड्रॉइड प्रोजेक्ट को 4.0.3 पर सेट करके 2.3 डिवाइस पर काम करेगा ?? –

उत्तर

5

समस्या यह है कि मुझे संस्करण 2.1 से 2.3 संस्करणों में त्रुटि हो रही है और पर 4.0 से 4.1 पर ठीक है।

=> आपने उल्लेख किया है इस 4.0 और 4.1 में लेकिन 2.x संस्करण में नहीं ठीक काम कर रहा है के रूप में, मुझे यकीन है कि आप अपने style.xml में संगत ActionBarSherlock विषय शामिल भूल गया हूँ:

यदि आप हेवन 'टी नीचे मूल्यों के साथ styles.xml शामिल है, तो यह कार्य करें:

<style name="AppTheme" parent="Theme.Sherlock.Light.DarkActionBar"/> 

आप ऊपर के बारे में मान-v11 और styles.xml लिए मूल्य-v14, आप में styles.xml बना सकते हैं उल्लेख किया है के रूप में दोनों फ़ोल्डर के साथ मानों के नीचे:

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"/> 
+0

हाँ .. यह काम कर रहा है! धन्यवाद @Paresh –

+0

@DroidLearner ने इसका काम किया। चीयर्स :) –

0

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

+0

हाँ मैंने एंड्रॉइड 4.0.3 का उपयोग किया था और परियोजना में कोई त्रुटि नहीं थी। फिर मैंने जिंजरब्रेड उपकरणों का समर्थन करने के लिए एंड्रॉइड 2.3.3 पर अपना बिल्ड लक्ष्य बदल दिया। आपने कहा कि "आप पहले से ही अपने मैनिफेस्ट में minSDKVersion लाइन के साथ 2.3 को कवर करते हैं।" मेरा संदेह यह है कि यह एंड्रॉइड 2.3 में बिल्ड लक्ष्य को बदलने के बिना 2.3 डिवाइस पर काम करेगा ??? –

+0

हां, यह तब तक 2.3 डिवाइस पर काम करेगा जब तक कि आप किसी भी एपीआई कॉल का उपयोग नहीं करते हैं जो 2.3 में नहीं है। – Kaediil

+0

धन्यवाद दोस्त! :)) –