2012-01-26 22 views
5

私はコメントを表示するアクティビティを持っています。コメント自体にレイアウトがあるので、ListViewを使うことはできません。プログラムでLinearLayoutにビューを追加する

私はループでコメントを追加していますが、プログラムはループ全体を(LogCatでチェックして)チェックしますが、最初のビュー(コメント)を直線レイアウトに追加するだけです。

私のコード(実際にfillCommentsパラメータは、[]文字列以外の何かになります):

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.comment_layout); 
    String[] comments = {"kommentaar 1", "kommentaar 2", "kommentaar 3"}; 
    mTitle = (TextView) findViewById(R.id.comments_title); 
    mTextArea = (EditText) findViewById(R.id.comment_editor); 
    mAddButton = (Button) findViewById(R.id.add_comment); 
    mCommentArea = (LinearLayout) findViewById(R.id.comments_area); 

    mTitle.setText(getIntent().getStringExtra("name")); 
    fillComments(comments); 
} 

private void fillComments(String[] comments) { 
    View comment; 
    TextView commentator; 
    TextView commentDate; 
    TextView commentText; 
    LayoutInflater inflater = getLayoutInflater(); 

    for (String s : comments) { 
     Log.d("Comment adder", "Adding comment " + s); 
     comment = inflater.inflate(R.layout.comment_row_layout, null); 
     commentator = (TextView) comment.findViewById(R.id.commentator); 
     commentDate = (TextView) comment.findViewById(R.id.comment_date); 
     commentText = (TextView) comment.findViewById(R.id.comment_text); 
     commentator.setText("Test commentator"); 
     commentDate.setText("12-12-2012"); 
     commentText.setText(s); 
     mCommentArea.addView(comment); 
    } 
} 
+0

'R.id.comments_area'の向きが垂直+幅fill_parentの場合も同じですか?そして、ログ(「Comment adder」)が複数回表示されていますか? – louiscoquio

+0

レイアウトを表示してください:comment_row_layout.xml ..私はあなたが水平方向を持っていると思います... –

答えて

6

だと思います。 mCommentArea = (LinearLayout) findViewById(R.id.comments_area); このレイアウトの向きは水平であるため、この問題が発生します。水平方向であれば垂直方向にして楽しんでください。

+0

あなたはちょうど私にこれ、歓声に時間のトンを救った! – ryanwils

2

あなたがのLinearLayoutを定義しているどのように?それは単なるディスプレイの問題かもしれません。 LinearLayoutのサイズと向きを確認してください。

+0

そうです、私はLinearLayoutに 'android:orientation =" vertical "行を追加するのを忘れてしまいました。 – j0ntech

関連する問題