我遇到布局更新问题。我有这样的方法:
public void changeview(){
tabHost.getTabWidget().getChildAt(1).setVisibility(View.GONE);
tabHost.getTabWidget().getChildAt(2).setVisibility(View.GONE);
tabHost.getTabWidget().getChildAt(3).setVisibility(View.VISIBLE);
tabHost.getTabWidget().getChildAt(0).setVisibility(View.VISIBLE);
try{
periodicCheck.setVisibility(View.GONE);
periodiCheckText.setVisibility(View.GONE);
MessageDelayText.setVisibility(View.GONE);
}catch (Exception e) {
throw new Error("set visibility failed: "+e);
}
当我从按钮的点击监听器调用该方法时它工作正常,但是当我在 Acitivity 类的 oncreate() 方法中调用该方法时没有任何反应。
我只是想知道也许我需要刷新布局,但我不确定??我已尝试通过实现以下代码来使用无效方法,但仍然没有任何反应。
ViewGroup vg = (ViewGroup) findViewById (R.id.main);
vg.invalidate();
如果有任何建议,我将不胜感激。
提前致谢
最佳答案
从 onWindowFocusChanged() 调用它。这实际上是 Activity 的一个抽象方法,一旦您的 View 被绘制就会被调用。将此覆盖到您的 Activity 并检查,
@Override
public void onWindowFocusChanged(boolean hasFocus) {
changeview();
super.onWindowFocusChanged(hasFocus);
}
关于android - 在 oncreate() 方法中调用布局更新失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11260838/