2013-09-26 3 views
0

Это делается для создания моей активности и после настройки содержимого, я вызываю LoadButton().Рисовать 50 динамически после полной загрузки активности

 @Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

      Loadbuttons(); 
    } 


    public void LoadButtonss() 
     { 

      Here I am fetching data from database ,and plotting 50 buttons dynamically 
     } 

Так Моя проблема: Он принимает время загрузки деятельности.

Любая идея, как LoadButtons() после загрузки полной активности. Он не должен ждать функции ButtonLoad().

Любая идея, как это сделать?

+0

Как насчет работоспособным? – SKT

+1

Если вы исправите/измените код на один из ответов, можете ли вы исправить/изменить код в своем вопросе? – tomsv

ответ

1

вставить этот код в классе блока деятельности:

@Override 
protected void onStart() { 
    // TODO Auto-generated method stub 
     LoadButtons(); 
    super.onStart(); 
} 
+0

что делать, если я поставлю super.onStart(); перед LoadButtons(); – Tejas

+0

super.onStart() сначала запустить метод суперкласса. я думаю, неважно. –

0

В соответствии с жизненным циклом деятельности вы должны вызвать LoadButtons в методе overstided onStart. Поскольку активность будет видна в этом состоянии.

+0

Не могли бы вы дать мне образец кода или отредактировать мой ответ? Я новичок в android. – Tejas

0

Я бы попробовал это: Нагрузите кнопки в onCreate и установите View invisible. in onResume делает его видимым снова.

View v; 

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 

    v= findViewById(R.layout.main); 
    v.setVisibility(View.INVISIBLE); 

     Loadbuttons(); 
} 


@Override 
protected void onResume() { 
    v.setVisibility(View.VISIBLE); 
    super.onResume(); 
} 


public void LoadButtons() 
    { 
     FrameLayout layout = (FrameLayout) findViewById(R.id.MarkerLinearlayout); 
     //Here I am fetching data from database ,and plotting 50 buttons dynamically 
    } 
+0

Затем сделайте макет меморизуемым и переключитесь с невидимого на видимое. Макеты тоже видны;) – Forke

0

Вы можете установить кнопки невидимым, и если вы запрашиваете данные, которые вы можете обновить пользовательский интерфейс через AsyncThread. Это не самый приятный способ, но он работает. В противном случае используйте вместо кнопок «CustomListView».

Смежные вопросы