繁体   English   中英

Android onResume布局问题

[英]Android onResume Layout Problems

我的菜单有问题。

我有一个垂直和水平按钮填充的背景布局。 看起来像这样: http : //s7.directupload.net/file/d/3081/sewg79tr_png.htm

因此,当我开始一个新游戏(新的Intent)并按返回按钮时,屏幕布局已损坏,看起来真的很糟糕: http : //s14.directupload.net/file/d/3081/ewfeidya_png.htm

当我切换到另一个应用程序并切换回菜单时,布局看起来像启动时的样子。 一切顺利。

我试图删除所有按钮并在onResume中重新填充布局,但是它不起作用,我真的不知道为什么。 System.out可以正常工作,但是只有当我在应用程序之间切换时,布局才会重置。

有人知道这个问题吗?

编辑:背景按钮的OnClickListener更改了单击按钮的背景图片。 该OnClickListener仍然可以在残破的布局中使用。

@Override
public void onResume() {
    super.onResume();
    LinearLayout buttonBackgroundLayout = (LinearLayout) findViewById(R.id.buttonHintergrundLayout);
    //int count = buttonBackgroundLayout.getChildCount();
    //System.out.println(count);
    //for (int i = 0; i < count; i++) {
    //    View child = buttonBackgroundLayout.getChildAt(i);
    //    if (child instanceof View) ((ViewGroup) child).removeAllViews();
    //}
    buttonBackgroundLayout.removeAllViewsInLayout();
    buttonBackgroundLayout.invalidate();

    createButtonImages(breite);
    createBackgroundButtons(breite);
    System.out.println("WOOOHOOO");
}

编辑:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    buttonBackgroundLayout = (LinearLayout) findViewById(R.id.buttonHintergrundLayout);

    createButtons();        

    DisplayMetrics display = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(display);
    breite = display.widthPixels;

    createButtonImages(breite);
    createBackgroundButtons(breite);
}

您不需要删除onResume()中的所有视图。 就布局而言,这应该是您需要做的所有事情。

@Override
public void onResume() {
    super.onResume();
    setContentView(R.id.buttonHintergrundLayout);

}

您可能还想在此处设置所有onClickListners。 但是您在此处设置的任何内容都应该在onPause()中删除。 但是,设置视图本质上是免费的,尤其是在您仅使用已经存在的视图的情况下。

LinearLayout buttonBackgroundLayout =(LinearLayout)findViewById(R.id.buttonHintergrundLayout);

将其移动到onCreate上,仅制作和使用buttonBackgroundLayout的一个实例(声明为globbaly)

我想问题是创建视图的多个实例

嗯,在另一部手机上(三星),情况恰恰相反。 在Startup上看起来很糟糕,从startet游戏中恢复后看起来很不错,并且在不同的应用程序之间切换之后看起来很糟糕... Wtf !?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM