我正在尝试以编程方式设置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
}
}
上述方法是否正确?
答案 0 :(得分:6)
请注意,某些新设备能够显示多个窗口,onWindowFocusChanged()
不是初始化布局的理想位置。使用onCreate()
来扩充布局并设置视图变量。
答案 1 :(得分:4)
onCreate()
这是您设置UI的地方
onWindowFocusChanged()
在成功加载或正确创建所有布局或UI时调用此方法。