2011-11-02 5 views
0

Voici ma question:ActionBarSherlock retour Null Valeur dans Android App

J'ai essayé d'obtenir un ActionBar dans mon Android 2.3 App. J'ai décidé d'utiliser ActionBarSherlock. J'ai créé un nouveau projet en important le ZIP et en en faisant une bibliothèque. Je l'ai ajouté en tant que bibliothèque à mon projet actuel.

Ensuite, il ne fonctionnerait pas à moins que j'enlevé la bibliothèque de compatibilité (conversion au format Dalvik échoué avec l'erreur 1)

donc je l'ai enlevé et pas plus d'erreurs lors de la compilation. Mais quand j'essaie de l'utiliser, il retourne toujours null. Je ne suis pas sûr si je manque quelque chose de petit ou quoi, mais cela me rend fou depuis un moment maintenant. Tout avis serait grandement apprécié. Voici quelques extraits de code ainsi:

Manifest:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.StuMan" 
    android:versionCode="1" 
    android:versionName="1.0" 
    android:theme="@style/Theme.Sherlock"> 
<uses-sdk android:minSdkVersion="4" 
      android:targetSdkVersion="13" /> 

Et l'appel que je fais dans mon activité:

import java.util.ArrayList; 
import com.StuMan.R; 
import android.app.ActionBar; 
import android.app.Activity; 
import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 
import android.support.v4.view.Window; 
import android.widget.ArrayAdapter; 
import android.widget.GridView; 
import android.widget.Toast; 

public class WelcomeGrid extends FragmentActivity{ 

private ArrayList<String> parts = new ArrayList<String>(); 
final String [] items=new String[]{"Classes", "Calendar", "To-Do List"}; 

@Override 
public void onCreate(Bundle savedInstanceState){ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.welcome_grid); 
    requestWindowFeature(Window.FEATURE_ACTION_BAR_ITEM_TEXT); 

    Toast.makeText(getApplicationContext(), String.valueOf(getSupportActionBar().isShowing()), Toast.LENGTH_LONG); 

    GridView gv = (GridView)findViewById(R.id.gv_welcome); 
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, items); 

    gv.setAdapter(adapter); 

} 

}

Répondre

2

Vous n'avez pas besoin de incluez le paquet de support comme ActionBarSherlock contient le paquet de support (et l'améliore). Si vous vérifiez la source ActionBarSherlock, vous serez sur le point de voir les classes android.support.v4.*.

Je recevais getSupportActionBar() revenant à zéro jusqu'à ce que je revienne à relire le usage instructions en particulier sur les thèmes parents.

Pour la barre d'action pour fonctionner sur les appareils pré-3.0 votre activité doit utiliser Theme.Sherlock ou Theme.Sherlock.Light ou votre thème personnalisé doit utiliser l'un des deux ci-dessus comme parent.

Inclure dans l'élément d'application

<application 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/Theme.Sherlock"> 
Questions connexes