Question

J'ai téléchargé la version 4.1.0.0 Actionbarsherlock et a ajouté une bibliothèque de projets Android à Eclipse 4.2 sur ma machine à mettre à jour 24 Win7 Java 1.6. J'ai utilisé une cible de projet de projet Eclipse de Android 4.1 dans le projet | Propriétés | Cible de projet de projet. Je souhaite incorporer la fonctionnalité d'action dans une application existante qui a MinsDkversion="7". J'ai noté que le code de la bibliothèque Actionbarsherlock semble avoir des méthodes obsolètes et une erreur:

Exemple 1: Actionbarcontainer.java, actebarcontextagerview.java, ScrollingTabContainerview.java - Utilise le ferdrawawableDrawable - La méthode de mise entiertageDrawable (digue) à partir de la vue Type est obsolète

public ActionBarContainer(Context context, AttributeSet attrs) {
    super(context, attrs);

    setBackgroundDrawable(null);

    TypedArray a = context.obtainStyledAttributes(attrs,
            R.styleable.SherlockActionBar);
    mBackground = a.getDrawable(R.styleable.SherlockActionBar_background);
    mStackedBackground = a.getDrawable(
            R.styleable.SherlockActionBar_backgroundStacked);

    if (getId() == R.id.abs__split_action_bar) {
        mIsSplit = true;
        mSplitBackground = a.getDrawable(
                R.styleable.SherlockActionBar_backgroundSplit);
    }
    a.recycle();

    setWillNotDraw(mIsSplit ? mSplitBackground == null :
            mBackground == null && mStackedBackground == null);
}

Fix rapide Affiche comme Ajoutez @suresswarnings 'Déprécation' pour ActionBarcontainer

Exemple 2: IcsProgressBar.java utilise l'animationResolution qui montre comme obscète une même solution rapide que ci-dessus

private static final int[] ProgressBar = new int[] {
    ...
    android.R.attr.animationResolution

Aussi, j'ai une erreur dans ActivityChooserview.java:

private static class SetActivated {
    public static void invoke(View view, boolean activated) {
        view.setActivated(activated);
    }
}

Erreur est sur SetACtivated - L'appel requiert API 11 (Min courant est 7). Cela donne un sens basé sur le manifeste:

<uses-sdk android:minSdkVersion="7" android:targetSdkVersion="15"/>

Ne devriez-vous pas aller à l'API 7, car la barlock d'action Sherlock doit-elle fonctionner à Andriod 2.x? Demandez à d'autres personnes et si oui, quelle est l'action recommandée? Supprimer / ignorer la dépréciation? Qu'en est-il de l'erreur sur Sétactivated? J'ai examiné le Readme et j'ai fait des recherches nettes, mais je n'ai rien proposé à ce sujet. Merci pour toute suggestion.

merci!

Était-ce utile?

La solution

C'est juste bien.Le code est 2.x compatible et même certaines méthodes sont obsolètes à partir de 4.x , ils sont toujours là.Il ne signifie pas non plus sur 4.x Ces méthodes obsolètes seront utilisées.La source est 2.x-4.x Donc, il n'y a pas d'autre moyen (sans parler de la réflexion, mais cela a blessé les performances, et c'est pour l'instant pas nécessaire).Donc, il est prudent de simplement ignorer cela.Il serait probablement préférable de désactiver les amortissements pour certains dossiers, mais ce n'est pas là.Alors ne vous inquiétez pas.

Autres conseils

Ceci est ne répond pas vraiment à la question, mais j'ai rencontré le même problème lorsque je devais avoir une Minssdkversion 9 et je voulais avoir Actionbarcherlock, mais j'avais la même erreur de la barre d'action requiert Minsdkversion 11.

Apparemment dans ADT 21.1, vous faites des valeurs-v11 / styles.xml et mettez la barre d'action là-bas.

https://code.google.com/p/android/Problèmes / détails? ID= 48283

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top