選択したスポーツに予定されているゲームを週単位で表示するページがあります。選択したスポーツと週は、ページの先頭に開かれた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」は、テーブル行またはテキスト行をテーブル行に作成するための場所です。
誰でも私が間違っていることを教えてもらえますか?
おかげ
これは十分な情報ではありません。 onCreateメソッド、来週のリスナー、xmlのすべてを見ることができますか? – ghostbust555
完全なスタックトレースをここに投稿してください。 –
ここに活動コード全体を入れてください。レイアウトも。 – Gangnus