Android прадухілення запуску актыўнасці аўто на першай ўкладцы

Мой Android прыкладанне мае tabhost з 5 ўкладак. Праблема заключаецца ў тым, калі я выкарыстоўваю setCurrentTab (2) .Android пачаць дзейнасць на першай ўкладцы затым пачаць дзейнасць на трэцяй ўкладцы. Я лічу, што, калі я выкарыстоўваю метад addTab класа TabHost, таксама пачаць дзейнасць у першай ўкладцы.

    if (mCurrentTab == -1) {
        setCurrentTab(0); 
    }

I read my thread in stackoverflow like:https://stackoverflow.com/questions/9978231/android-when-i-put-setcurrenttab-for-tabhost-it-loads-the-first-added-tab-ac

Таму што маё патрабаванне кліента, я не магу змяніць парадак tabs.When старту TabActivity, я толькі хачу пачаць дзейнасць у трэцяй ўкладцы Як я магу гэта зрабіць?

1

8 адказы

If you want to prevent loading of your fragment then put your in onVisible. Use this class UserVisibleHintFragment

Гэта дапаможа вам прадухіліць авансавую загрузку.

2
дададзена

If you want to prevent loading of your fragment then put your in onVisible. Use this class UserVisibleHintFragment

Гэта дапаможа вам прадухіліць авансавую загрузку.

2
дададзена

Ваша пытанне не кажа нам пра тое, як вы будуеце свае ўкладкі. Калі вы можаце адправіць трохі кода, як вы будуеце ўкладкі, то мы можам быць у стане дапамагчы вам лепш.

Ніжэй прыведзены просты спосаб стварэння укладак з дапамогай TabHost. <�Код> tabHost.setCurrentTab (2); ніжэй проста выдатна працуе ...

TabHost tabHost = getTabHost();

// Tab for About
TabSpec aboutspec = tabHost.newTabSpec("About");
aboutspec.setIndicator("About", getResources().getDrawable(R.drawable.icon_about_tab));
aboutspec.setContent(new Intent(this, AboutActivity.class));

// Tab for Contacts
TabSpec contactsspec = tabHost.newTabSpec("Contacts");
contactsspec.setIndicator("Contacts", getResources().getDrawable(R.drawable.icon_contacts_tab));
contactsspec.setContent(new Intent(this, ContactsActivity.class));

// Tab for Resources
TabSpec resourcesspec = tabHost.newTabSpec("Resources");
resourcesspec.setIndicator("Resources", getResources().getDrawable(R.drawable.icon_resources_tab));
resourcesspec.setContent(new Intent(this, ResourcesActivity.class));

// Adding all TabSpec to TabHost
tabHost.addTab(aboutspec);
tabHost.addTab(contactsspec);
tabHost.addTab(resourcesspec);

// set the current tab to Resources
tabHost.setCurrentTab(2);

Спадзяюся, што гэта дапаможа вырашыць вашу праблему.

0
дададзена

Ваша пытанне не кажа нам пра тое, як вы будуеце свае ўкладкі. Калі вы можаце адправіць трохі кода, як вы будуеце ўкладкі, то мы можам быць у стане дапамагчы вам лепш.

Ніжэй прыведзены просты спосаб стварэння укладак з дапамогай TabHost. <�Код> tabHost.setCurrentTab (2); ніжэй проста выдатна працуе ...

TabHost tabHost = getTabHost();

// Tab for About
TabSpec aboutspec = tabHost.newTabSpec("About");
aboutspec.setIndicator("About", getResources().getDrawable(R.drawable.icon_about_tab));
aboutspec.setContent(new Intent(this, AboutActivity.class));

// Tab for Contacts
TabSpec contactsspec = tabHost.newTabSpec("Contacts");
contactsspec.setIndicator("Contacts", getResources().getDrawable(R.drawable.icon_contacts_tab));
contactsspec.setContent(new Intent(this, ContactsActivity.class));

// Tab for Resources
TabSpec resourcesspec = tabHost.newTabSpec("Resources");
resourcesspec.setIndicator("Resources", getResources().getDrawable(R.drawable.icon_resources_tab));
resourcesspec.setContent(new Intent(this, ResourcesActivity.class));

// Adding all TabSpec to TabHost
tabHost.addTab(aboutspec);
tabHost.addTab(contactsspec);
tabHost.addTab(resourcesspec);

// set the current tab to Resources
tabHost.setCurrentTab(2);

Спадзяюся, што гэта дапаможа вырашыць вашу праблему.

0
дададзена

use setCurrentTab(2) after addTab methods. Better use it at the last line of onCreate of your TabActivity

0
дададзена
аб , я зразумеў ваш пытанне .. што гэта натуральны паток, каб пачаць першую ўкладку
дададзена аўтар stinepike, крыніца
навошта вам гэта трэба .. больш дакладнае апісанне можа дапамагчы нам ведаць, што вы сапраўды хочаце дасягнуць
дададзена аўтар stinepike, крыніца
Я паспрабаваў гэта раней, ён не працуе, АНДРОІД пачатак дзейнасці ў першай ўкладцы, а затым і трэцяя ўкладка
дададзена аўтар chinh, крыніца

use setCurrentTab(2) after addTab methods. Better use it at the last line of onCreate of your TabActivity

0
дададзена
аб , я зразумеў ваш пытанне .. што гэта натуральны паток, каб пачаць першую ўкладку
дададзена аўтар stinepike, крыніца
навошта вам гэта трэба .. больш дакладнае апісанне можа дапамагчы нам ведаць, што вы сапраўды хочаце дасягнуць
дададзена аўтар stinepike, крыніца
Я паспрабаваў гэта раней, ён не працуе, АНДРОІД пачатак дзейнасці ў першай ўкладцы, а затым і трэцяя ўкладка
дададзена аўтар chinh, крыніца

enter image description here

Як вы можаце бачыць з мал, які я прыкладаецца, калі праграма АНДРОІД пачынаецца, яна будзе запускаць дзейнасць з трэцяй ўкладкі і чытання электроннай пошты карыстальніка ў прыладзе Android, то адправіць яго на server.After што сервер верне user_id, я выратую user_id ў дадатак memory.When карыстальнік націскае на першай ўкладцы, якая валодае актыўнасцю, якія ўтрымліваюць у WebView, я буду атрымліваць гэты user_id з прыкладання памяці затым перайсці да URL у WebView. Калі актыўнасць у першай ўкладцы пачаць першую, то user_id будзе пустым.

0
дададзена

enter image description here

Як вы можаце бачыць з мал, які я прыкладаецца, калі праграма АНДРОІД пачынаецца, яна будзе запускаць дзейнасць з трэцяй ўкладкі і чытання электроннай пошты карыстальніка ў прыладзе Android, то адправіць яго на server.After што сервер верне user_id, я выратую user_id ў дадатак memory.When карыстальнік націскае на першай ўкладцы, якая валодае актыўнасцю, якія ўтрымліваюць у WebView, я буду атрымліваць гэты user_id з прыкладання памяці затым перайсці да URL у WebView. Калі актыўнасць у першай ўкладцы пачаць першую, то user_id будзе пустым.

0
дададзена