2013-01-18 2 views
0

Je suis complètement nouveau à Java et Android .. En utilisant actionbarsherlock, j'ai un problème que je ne peux pas résoudre. Mon application a environ 8 activités au total, et chacun d'eux a la même barre d'action, en utilisant ABS.Actionbarsherlock: Comment "garder" en 1 classe

Donc je me demandais s'il y avait un moyen de garder toute la partie ABS dans 1 classe, et ensuite l'appeler dans d'autres activités en cas de besoin. Sinon, je devrais écrire le même code dans chaque activité pour atteindre la même barre d'action, ce qui ne semble pas correct.

Je me souviens avant d'utiliser l'ABS, j'ai dû utiliser une ligne séparée en XML, puis gonfler dans d'autres activités en cas de besoin. Mais ce projet ABS entier semble trop vaste pour un débutant comme moi et je suis vraiment confus .. quelqu'un peut-il m'aider à clarifier? Merci d'avance.

Répondre

3

Utilisez une classe de base qui définit la barre d'action.

public abstract class BaseActivity extends SherlockFragmentActivity { 
    @Override public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    ActionBar ab = getSupportActionBar(); 
    ab.whatever.... 
    } 
} 

Et puis dans vos activités ...

public class MySweetActivity extends BaseActivity { 
    @Override public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.whatever); 
    } 
} 
+0

Aha, je vous remercie beaucoup! tu es mon héros :) – user1991197

Questions connexes