OnWindowFocusChanged和onCreate - Android

时间:2013-01-29 05:44:21

标签: android

我正在尝试以编程方式设置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
    }
}

上述方法是否正确?

2 个答案:

答案 0 :(得分:6)

请注意,某些新设备能够显示多个窗口,onWindowFocusChanged()不是初始化布局的理想位置。使用onCreate()来扩充布局并设置视图变量。

答案 1 :(得分:4)

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

onWindowFocusChanged() 在成功加载或正确创建所有布局或UI时调用此方法。