Принудително надуване на основното оформление

Ще опитам друг удар. Надявам се сега да получа отговора, от който се нуждая напълно.

Само си представете: имам джаджа, която извиква (след onClick) празна дейност без кодиран код, само относително оформление с някои изгледи. (Оформлението е предоставено от XML-layout-file).

Моята активност:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.myLayout);

Когато добавя for-цикъл към метода onCreate, който добавя 50 бутона (не обръщайте внимание на параметрите на оформлението, ориентацията и т.н.). Само 50 прости бутона

Като:

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.myLayout);
for(int i = 0; i<50; i++) {
Button btn = new Button(this);
myLayout.add(btn);
}

Разбирам, че той само показва дейността на екрана, докато не завърши добавянето на всички бутони.

Въпросът ми е: Как мога да предотвратя това!? Как мога да покажа дейността със съдържанието от файла с XML оформление и след това (САМО тогава) да добавя един бутон след друг към оформлението.

Възможно ли е това? Ако е така, трябва ли да преначертая цялата дейност и т.н. Моля, дайте ми съвет относно моя проблем.


person Mike    schedule 11.11.2014    source източник
comment
Поставете кода на вашия бутон onCreate for loop в onResume, след като основното ви оформление вече е раздуто...   -  person zgc7009    schedule 11.11.2014
comment
Разгледайте това stackoverflow.com/questions/19013960/   -  person Egor Neliuba    schedule 11.11.2014
comment
@zgc7009 това не свърши работа....   -  person Mike    schedule 11.11.2014
comment
Искам да кажа, че кодовите процеси са доста бързи. Ако искате да можете видимо да разграничите разликата между всичко, което се случва, ще ви трябва нишка с манипулатор, който има работещ цикъл, който заспива нишката между бутоните за добавяне.   -  person zgc7009    schedule 11.11.2014
comment
@EgorN Ще погледна по-отблизо, можеш ли да ми дадеш малко обяснение като отговор?   -  person Mike    schedule 11.11.2014
comment
@zgc7009 и аз не мисля така zgc7009. Ако стартирам кода по-горе, той е много бърз. Не може да се види дали съдържанието е прегледано преди добавянето на бутоните. Но ако добавя изображение към всеки бутон (представете си бутоните сега като ImageButton), тогава мога напълно да спомена по-дълго време за стартиране и съдържанието също се преглежда само докато не бъдат добавени всички ImageButtons и изображения.. (с моя метод в onResume().. така че това не може да е вярно.. аз също се опитах да стартирам процедурата в UIthread... винаги едно и също, възможно ли е добавената тема на оформлението да е Theme.Dialog?   -  person Mike    schedule 11.11.2014
comment
... Какво? Съжалявам, че наистина няма смисъл   -  person zgc7009    schedule 11.11.2014
comment
@zgc7009 Актуализирах коментара си. Може ли да погледнете по-отблизо. Възможно ли е моята дейност да е диалог. И че диалоговите прозорци по някакъв начин са принудени да се отварят веднага щом всеки код бъде обработен? Мога просто да ви кажа какво виждам, имам моя метод в onResum, разширявам for-Loop до 100 и добавям ImageView към всеки ImageButton. И оформлението не се появява, докато целият код не бъде обработен. Но аз споменавам много по-дълго време за стартиране. Така че за мен това означава, че дейността получава всички ImageButtons и изображения и след това той стартира. В противен случай дейността трябва да се гледа в същото време без цикъл   -  person Mike    schedule 11.11.2014
comment
Ако използвате дейност с диалогова тема, тя трябва да следва жизнения цикъл на дейността. Работата е там, че се зареждат групово всички тези данни наведнъж, което причинява забавящия вид. Ако искате да ги добавите поотделно, вероятно ще трябва да направите отделен runnable и да ги направите на парчета (или поотделно). Това прави връзката, публикувана от @EgorN. Разбиване на визуалните елементи на части.   -  person zgc7009    schedule 11.11.2014