android - 在 oncreate() 方法中调用布局更新失败

标签 android layout

我遇到布局更新问题。我有这样的方法:

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/

相关文章:

java - 设备旋转后布局重新启动

css - 百分比宽度 div 后跟固定宽度 div

android - 将 ImageView 添加到 ListActivity

java - 如何使用底部导航 Activity 更改 fragment ?

android - 更新抽屉导航 ListView

Android 在没有 ContextMenu 的情况下选择 TextView/EditText 上的文本

java - 奇怪的错误java.lang.reflect.Method.invokeNative(Native Method) Android Studio 请解答

android - 为什么没有普通的可绘制文件夹?

python - matplotlib 轴 ('tight' )不起作用?

android - 选择器不适用于布局和 ImageView