2012-09-04 9 views
5

Estaba siguiendo un sencillo tutorial de Sherlock Action Bar. Seguí cada paso. El problema es que recibo un error en las versiones 2.1 a 2.3 y funciona bien en 4.0 a 4.1.
estoy usando herramientas de SDK de Android 20.0.3 y Eclipse versión 4.2.0trabajando en 4.0.3 y 4.1 pero Error en 2.1.2.2 y 2.3 - Sherlock Action Bar

setContentView(R.layout.activity_main); 

En el código anterior que dice R cannot be resolved to a variable. y algunos errores más son los siguientes:

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

Para una mejor comprensión, aquí hay algunas imágenes:

enter image description here

enter image description here

Mi archivo de manifiesto es:

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

Que alguien me ayude en la fijación de estos errores en Android 2,3

El mismo código funciona bien en Android 4.0.3

+1

Creo que @Kaediil es correcto: cambie el objetivo de compilación de su proyecto a 4.0.3 o posterior. La razón por la que 'R' no se puede resolver se debe a que sus recursos no se compilarán debido a los estilos relacionados con el tema Holo que no estaban disponibles en Gingerbread. El objetivo de compilación no tiene nada que ver con los dispositivos con los que será compatible tu aplicación; eso está todo definido en el manifiesto con min/maxSdkVersion. –

+0

@MH así que aquí está la captura de pantalla http://twitpic.com/ar41l2/full para Android 4.0.3. ¡¡Sin errores!! –

+0

@MH ¿Y qué debería hacer con los estilos relacionados con el tema Holo? ¿Funcionará en 2.3 dispositivos configurando el proyecto de Android en 4.0.3? –

Respuesta

5

El problema es que estoy obteniendo un error en las versiones 2.1 a 2.3 y trabajo bien en 4.0 a 4.1.

=> Como se ha mencionado esto está funcionando bien en 4.0 y 4.1, pero no en la versión 2.x, estoy seguro de que olvidó incluir el tema ActionBarSherlock compatibles en su style.xml:

Si usted no ha 't incluido styles.xml con valores por debajo, y luego hacerlo:

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

Como se ha mencionado anteriormente sobre los valores -V11-V14 y los valores de styles.xml, puede crear en styles.xml tanto la carpeta con a continuación valores:

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

Sí ... ¡Está funcionando! Gracias @Paresh –

+0

@DroidLearner Me alegro de que funcionó. Saludos :) –

0

Estoy un poco confundido cuando miro a la captura de pantalla. En primer lugar, su proyecto debe usar Android 4.0.3, no 2.3 en las bibliotecas de Android. Ya cubre 2.3 con la línea minSDKVersion en su manifiesto. En segundo lugar, no puedo decirlo, pero supongo que en las propiedades de su proyecto, ¿hizo que su proyecto principal dependiera de la biblioteca ActionBarSherlock?

+0

Sí, utilicé Android 4.0.3 y no hubo errores en el proyecto. Luego cambié mi objetivo de compilación a Android 2.3.3 para admitir dispositivos Gingerbread. Dijo que "ya cubre 2.3 con la línea minSDKVersion en su manifiesto". Mi duda es que funcionará en 2.3 dispositivos sin cambiar el objetivo de compilación a Android 2.3 ??? –

+0

Sí, funcionará en 2.3 dispositivos siempre que no utilice ninguna llamada API que no esté en 2.3. – Kaediil

+0

¡Gracias amigo! :)) –

Cuestiones relacionadas