/ / Détection d'un événement sur un FragmentTabHost présent dans Fragment - android, android-fragments, fragment-tab-host, android-nested-fragment

Détection d'événement sur un FragmentTabHost présent dans Fragment - android, android-fragments, fragment-tab-host, fragment android-nested-fragment

Ce que j'ai:

  • J'ai un fragment
  • J'utilise la bibliothèque SherlockActionBar
  • J'ai un FragmentTabHost dans Fragment

Ce que je veux savoir: Je veux détecter onClick événement chaque onglet et effectuer une action en fonction de celui-ci

Fragment1.java:

public class Fragment1 extends SherlockFragment{

private FragmentTabHost mTabHost;


//Mandatory Constructor
public Fragment1() {
}

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

}

public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {

View rootView = inflater.inflate(R.layout.fragment1,container, false);


mTabHost = (FragmentTabHost)rootView.findViewById(android.R.id.tabhost);
mTabHost.setup(getActivity(), getChildFragmentManager(), R.id.realtabcontent);

mTabHost.addTab(mTabHost.newTabSpec("fragmentb").setIndicator("Rating"),
RatingAscending.class, null);
mTabHost.addTab(mTabHost.newTabSpec("fragmentc").setIndicator("Price"),
PriceAscending.class, null);
mTabHost.addTab(mTabHost.newTabSpec("fragmentd").setIndicator("Distance"),
DistanceAscending.class, null);


return rootView;
}

}

Réponses:

0 pour la réponse № 1

Je suppose que ce que vous voulez faire est de détecter quand un onglet spécifique a été cliqué dans votre FragmentTabHost. Cela peut être accompli tout simplement en ajoutant un setOnTabChangedListener. Voici un exemple:

FragmentTabHost t = new FragmentTabHost(getActivity());
t.setOnTabChangedListener(new OnTabChangeListener() {

@Override
public void onTabChanged(String tabId) {
// TODO your actions go here

}
});

}