必要なTableLayoutの数としてJavaでレイアウトを作成することは、デザインタイムとは呼ばれません。
電話をかけると、別の親に割り当てる前に(現在の親から)IllegalStateException
削除するように指示されますView
createPlayerTables()
ImageViewのリストから最初のTableRowにImageViewを追加しようとすると、このループの最初の行で例外がスローされます。
for (int i = 0; i < 3; i++) {
tableRowsLst.get(0).addView((ImageView) imageViewsLst.get(i));
tableRowsLst.get(1).addView((ImageView) imageViewsLst.get(i+3));
}
エラーは、ImageViewがすでにViewGroupに追加されていることを示していますが、以下のコードを見て、新しいImageViewを作成し、エラーが発生した行のViewGroupにのみ追加しているため、失敗する理由がわかりません。 。
// List<ImageView> imageViewsLst = new ...
// List<TableRow> tableRowsLst = new ...
/**
* Initialises the TableLayouts, one per player
*/
private TableLayout createPlayerTables(int playerNum) {
...
for (int i = 0; i < 6; i++) {
imageViewsLst.add(new ImageView(this));
...
}
for (int i = 0; i < 3; i++) {
tableRowsLst.add(new TableRow(this));
...
}
for (int i = 0; i < 3; i++) {
tableRowsLst.get(0).addView((ImageView) imageViewsLst.get(i));
tableRowsLst.get(1).addView((ImageView) imageViewsLst.get(i+3));
}
...
}