8

我正在尝试以编程方式设置 UI 元素。
我可以在onWindowFocusChanged方法中设置 UI 元素吗?
我想问的问题是 - 我应该在onCreate方法还是onWindowFocusChanged中设置 UI 元素?编码 -

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.baselayout);
}


@Override
public void onWindowFocusChanged(boolean hasFocus) {
    // TODO Auto-generated method stub
    super.onWindowFocusChanged(hasFocus);
    if (hasFocus) {
        res = getResources();
        inflater = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
        setUpBackgroundImage();// setting up the background image
        setUpTopMenu(); // Setting up the menu on top
        setUpLogo(); // Setting up the Logo
    }
}

上述方法是否正确?

4

2 回答 2

6

请注意,一些新设备能够显示多个窗口,onWindowFocusChanged()这不是初始化布局的理想场所。用于onCreate()膨胀布局和设置视图变量。

于 2013-01-29T05:52:53.887 回答
4

onCreate() 这是您设置 UI 的地方

onWindowFocusChanged() 当您的所有布局或 UI 已成功加载或正确创建时调用。

于 2013-01-29T06:11:50.027 回答