/ / Ereignis auf einem FragmentTabHost erkennen, das in Fragment vorhanden ist - Android, Android-Fragmente, Fragment-Tab-Host, Android-Verschachteltes Fragment

Ereignis auf einem in Fragment vorhandenen FragmentTabHost erkennen - Android, Android-Fragmente, Fragment-Tab-Host, android-nested-Fragment

Was ich habe:

  • Ich habe ein Fragment
  • Ich verwende die SherlockActionBar-Bibliothek
  • Ich habe ein FragmentTabHost in Fragment

Was ich wissen will: Ich will es erkennen onClick Ereignis jede Registerkarte und führen Sie eine darauf basierende Aktion aus

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;
}

}

Antworten:

0 für die Antwort № 1

Ich gehe davon aus, dass Sie erkennen möchten, wann eine bestimmte Registerkarte in Ihrem FragmentTabHost angeklickt wurde. Dies lässt sich ganz einfach durch Hinzufügen von setOnTabChangedListener. Hier ist ein Beispiel:

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

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

}
});

}