0

这是在创建我的活动并设置内容视图后,我正在调用 LoadButton()。

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

所以我的问题是: 加载活动需要时间。

加载完整活动后如何加载按钮()的任何想法。它不应该等待 ButtonLoad() 函数。

任何想法如何做到这一点?

4

4 回答 4

1

将此代码粘贴到您的活动类块中:

@Override
protected void onStart() {
    // TODO Auto-generated method stub
       LoadButtons();
    super.onStart();
}
于 2013-09-26T11:11:21.667 回答
0

根据活动生命周期,必须在 onStart 重写方法中调用 LoadButtons。因为活动将在此状态下可见。

于 2013-09-26T09:13:12.130 回答
0

我会试试这个:在 onCreate 中加载按钮并将 View 设置为不可见。在 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
   }  
于 2013-09-26T09:15:19.653 回答
0

您可以将按钮设置为不可见,如果您获取数据,您可以通过 AsyncThread 更新 UI。这不是最好的方法,但它有效。否则使用 CustomListView 代替 Buttons。

于 2013-09-26T09:18:46.547 回答