Bonjour,

J'ai une activité appelons la MainFragment qui implémente un tab listener:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
public class MainFragment extends FragmentActivity implements
		ActionBar.TabListener {
// le passage entre tab est géré par un tabsPagerAdapter
}
Les 3 tabs du viewPager correspondent à trois fragments qui gèrent des listviews : fichiers,musiques,images
exemple:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
public class Music extends Fragment  {
// ici je gère une listView
}
Je voudrais pouvoir récupérer des actions de l'utilisateur sur les items de l'actionbar crée dans MainFragment, ou sur le bouton back, ou home...et rafraîchir par exemple les listViews d'une activité en particulier.
Sachant que je suis capable de déterminer quel fragment est à l'écran avec en récupérant la position par un int pagerPosition.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
 
			@Override
			public void onPageSelected(final int position) {
				pagerPosition = position;
				actionBar.setSelectedNavigationItem(position);
}
)};
Est-ce possible?

Je me suis inspiré de ça:
http://envyandroid.com/archives/843/...nt-back-button

donc dans mon MainFragment:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class MainFRagment extends FragmentActivity implements
		ActionBar.TabListener { 
 
    private Music music;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.pager);
        music = new Music();
 
        getSupportFragmentManager().beginTransaction()
            .add(R.id.pager, music).commit();
	//gestion du pager..etc
    }
 
@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
        case android.R.id.up: {
// ici je renvoie vers une méthode dans mon fragment Music
            music.upPressed();
            return true;
        }
    }
    return super.onOptionsItemSelected(item);
}
}
et dans mon fragment Music:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
public class Music extends Fragment  {
.......
@Override
	public View onCreateView(LayoutInflater inflater, ViewGroup container,
			Bundle savedInstanceState) {
 
		View rootView = inflater.inflate(R.layout.music, container, false);
.....
}
public void upPressed() {
		album_art.setVisibility(View.VISIBLE);
		album_text.setVisibility(View.VISIBLE);
		musicGridAdapter = new MusicGridAdapter(getActivity(), R.layout.row_music, gridAlbum,"Artistes");
                getArtistes(getActivity());
                Toast.makeText(getActivity(), "test pour voir...",Toast.LENGTH_SHORT).show();
    }
}
.....
Cette méthode est censé recharger une gridView par un adapter...elle fonctionne puisque utilisée par le fragment par ailleurs.
En débug le code est exécuté normalement...donc l'interaction fonctionne, par contre aucune modification sur l'UI...rien ne se passe sur la gridView..l'écran reste tel quel..
Seul le toast fonctionne..et affiche un message.

Je ne comprends pas pourquoi...merci pour votre aide.