メニューに問題があります。
縦横のボタンでいっぱいの背景レイアウトがあります。次のようになります: http ://s7.directupload.net/file/d/3081/sewg79tr_png.htm
したがって、新しいゲーム(新しいインテント)を開始して戻るボタンを押すと、画面レイアウトが壊れて、本当にひどいように見えます: 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);
}