選択したスポーツの1週間分の予定されたゲームを表示するページがあります。選択したスポーツと週は、ページの先頭で開かれるXMLファイル内に保存されます。次の週のリンクをクリックすると、新しい週の日付の値がこのxmlファイルに保存され、ページが再読み込みされます。これで、この次の週のゲームが表示されます。これらのゲームはテーブルレイアウトに表示され、.javaページで必要に応じてプログラムで行を作成します。これはコードの簡略化されたサンプルです。
TableLayout tlGames = (TableLayout)findViewById(R.id.table_games);
for (int i = 0; i < gameCount; i++)
{
TableRow trGameHomeTeam = new TableRow(this);
TextView tvHomeTeamName = new TextView(this);
tvHomeTeamName.setText("Home Team Name Here");
tvHomeTeamName.setLayoutParams(new LayoutParam (LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
TextView tvHomeTeamScore = new TextView(this);
tvHomeTeamScore.setText("Home Team Score Here");
tvHomeTeamScore.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT));
trGameHomeTeam.addView(tvHomeTeamName);
trGameHomeTeam.addView(tvHomeTeamScore);
tlGames.addView(trGameHomeTeam,new TableLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.WRAP_CONTENT));
}
最初にアプリを実行すると、現在の日付のゲームが正しく一覧表示されます。次に、次の週のリンクをクリックすると、このページが再ロードされ、この新しい週のゲームが表示されます。代わりに、「指定された子にはすでに親があります。最初に子の親に対してremoveView()を呼び出す必要があります。」というエラーメッセージが表示されます。「tlGames.removeAllViews();」を追加しました TableLayout tlGames行の直後ですが、これはエラーを修正しませんでした。
私が「addView」を持っていた唯一の場所は、テーブル行またはテーブル行のテキストビューを作成するためのものです。
誰かが私が間違っていることを教えてもらえますか?
ありがとう