2013-04-08 3 views
2

Dans mon application, j'utilise la barre d'action Sherlock avec menu coulissant.Comment utiliser le menu coulissant bascule() du fragment

je peux utiliser la bascule de menu coulissant de l'activité Sherlock Fragment comme ceci:

switch (item.getItemId()) { 

    case android.R.id.home: 
     toggle(); 
     break;} 

mais maintenant je suis en train de cacher la actionbar et que vous souhaitez utiliser le bouton de menu actionbar à partir de fragments.

Je cache la barre d'action, mais comment puis-je utiliser le toggle() à partir de fragments?

Quelqu'un peut-il me donner une idée comment puis-je utiliser l'action android.R.id.home de fragment au lieu de fragmentActivity?

Répondre

3

deux façons de faire ceci:

  1. Dans votre remplacement d'activité onOptionsItemSelected et gérer le bouton d'accueil cliqué et appeler super pour le menu d'autres options. (Nouveau pour la maison la bascule() sera appelée et d'autres options de menu, vous pouvez les manipuler dans le Fragment)

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
        switch (item.getItemId()) { 
        case android.R.id.home: 
         toggle(); 
         return true; 
    
        default: 
         return super.onOptionsItemSelected(item); 
        } 
    } 
    
  2. définissent une interface dans votre Fragment et met en œuvre sur le Activity. Appelez la fonction d'interface sur le cas android.R.id.home dans le fragment, puis appelez toggle() dans le Activity.

+0

Je veux utiliser le toggle() de ma classe de fragment pas de ma classe d'activité de fragment. n'est pas possible? –

+5

Définir une fonction dans votre activité getSlidingMenu() retourne le MenuDrawer, dans l'appel onCreate() Fragment() getActivity() et le transtype en type d'activité. alors appelez getSlidingMenu(); maintenant vous avez le menuDrawer dans votre fragment – JafarKhQ

+0

merci JafarKhQ :-) –