2012-09-04 10 views
5

Stavo seguendo un tutorial SEMPLICE di Sherlock Action Bar. Ho seguito ogni singolo passo. Il problema è che sto ricevendo errori nelle versioni dalla 2.1 alla 2.3 e sto lavorando bene dalla 4.0 alla 4.1.
Sto usando strumenti SDK Android 20.0.3 E Eclipse versione 4.2.0funziona su 4.0.3 e 4.1 ma Errore su 2.1.2.2 e 2.3 - Barra di azione di Sherlock

setContentView(R.layout.activity_main); 

Nel codice di cui sopra si dice R cannot be resolved to a variable. e alcuni più errori sono i seguenti:

[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'. 

Per una migliore comprensione, qui ci sono alcune immagini:

enter image description here

enter image description here

mio file manifesto è:

<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> 

Qualcuno mi assiste nel fissare questi errori in Android 2,3

Lo stesso codice funziona bene in Android 4.0.3

+1

Penso che @Kaediil sia corretto: cambia il target di costruzione del tuo progetto di nuovo alla 4.0.3 o successiva. La ragione per cui R non può essere risolta è perché le tue risorse non verranno compilate a causa degli stili legati al tema di Holo che non erano disponibili in Gingerbread. Il target di costruzione non ha nulla a che fare con i dispositivi con cui la tua app sarà compatibile; questo è tutto definito nel manifest con min/maxSdkVersion. –

+0

@MH ecco quindi lo screenshot http://twitpic.com/ar41l2/full per Android 4.0.3. Nessun errore !! –

+0

@MH E cosa devo fare con gli stili a tema Holo ?? Funzionerà su 2.3 dispositivi impostando il progetto Android su 4.0.3 ?? –

risposta

5

Il problema è che sto ricevendo errori nelle versioni da 2.1 a 2.3 e in esecuzione bene su 4.0 a 4.1.

=> Come avete parlato di questo sta lavorando bene in 4.0 e 4.1 ma non nella versione 2.x, sono sicuro che hai dimenticato includere tema ActionBarSherlock compatibile nel vostro style.xml:

Se non avete 't incluso styles.xml con valori al di sotto, allora fatelo:

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

Come avete detto sopra circa valori-v11 e valori-V14 per styles.xml, è possibile creare styles.xml in sia la cartella con valori sotto:

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

Sì ... Funziona! Grazie @Paresh –

+0

@DroidLearner Felice del suo lavoro. Saluti :) –

0

Sono un po 'confuso quando guardo la vostra schermata. Innanzitutto, il tuo progetto dovrebbe utilizzare Android 4.0.3, non 2.3 nelle librerie Android. Hai già coperto 2.3 con la riga minSDKVersion nel tuo manifest. Secondo, non posso dirlo, ma presumo che nelle proprietà del tuo progetto, il tuo progetto principale sia dipendente dalla libreria ActionBarSherlock?

+0

Sì, ho usato Android 4.0.3 e non c'erano errori nel progetto. Poi ho cambiato il mio target di build su Android 2.3.3 per supportare i dispositivi Gingerbread. Hai detto che "Hai già copiato 2.3 con la riga minSDKVersion nel tuo manifest". Il mio dubbio è che funzionerà su 2.3 dispositivi senza modificare il target di build su Android 2.3 ??? –

+0

Sì, funzionerà su 2.3 dispositivi purché non si utilizzino chiamate API che non sono in 2.3. – Kaediil

+0

Grazie amico! :)) –

Problemi correlati