Я использую TabHost, и у меня есть 2 вкладки с двумя активностями. Я хочу, чтобы вторая вкладка была закладкой по умолчанию, но когда табстер начинает загружать первую tab1 и перед tab2, это неправильно, потому что в этих двух действиях i загружать данные из webservice! Мой вопрос заключается в том, как установить текущую вкладку второй вкладке без загрузки первой вкладки!Android TabHost setCurrentTab()
Мой tabhost код:
public class TabsHandler extends TabActivity {
private static TabHost tabHost;
Intent intent;
private void setupTabHost() {
tabHost = (TabHost) findViewById(android.R.id.tabhost);
tabHost.setup(this.getLocalActivityManager());
tabHost.setCurrentTab(1);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if(!isOnline())
Utils.DialogNoInternet(this);
String authToken = getIntent().getExtras().getString("token");
Long role = getIntent().getExtras().getLong("role");
String EventIdNotification =getIntent().getExtras().getString("EventIdNotification");
setContentView(R.layout.event_list_tabs);
setupTabHost();
Resources res = getResources();
tabHost.getTabWidget().setClipChildren(false);
setupTab(new TextView(this), res.getString(R.string.tab1_List),new Intent().setClass(this, EventListActivity.class).putExtra("authToken", authToken).putExtra("role", role).putExtra("EventIdNotification", EventIdNotification));
setupTab(new TextView(this), res.getString(R.string.tab2_List),new Intent().setClass(this, PastEventListActivity.class).putExtra("authToken", authToken).putExtra("role", role).putExtra("isPast", "true"));
tabHost.setCurrentTab(1);
}
public void switchTab(int tab){
tabHost.setCurrentTab(tab);
}
public boolean isOnline() {
ConnectivityManager cm =
(ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo netInfo = cm.getActiveNetworkInfo();
if (netInfo != null && netInfo.isConnectedOrConnecting()) {
return true;
}
return false;
}
private void setupTab(final View view, final String tag,Intent intent) {
View tabview = createTabView(tabHost.getContext(), tag);
TabSpec setContent = tabHost.newTabSpec(tag);
setContent.setIndicator(tabview);
setContent.setContent(intent);
tabHost.addTab(setContent);
}
private static View createTabView(final Context context, final String text) {
View view = LayoutInflater.from(context).inflate(R.layout.tabs_bg, null);
TextView tv = (TextView) view.findViewById(R.id.tabsText);
tv.setText(text);
return view;
}
tabHost.setCurrentTab (1); измените это на tabHost.setCurrentTab (2); – KMI