我有一个显示评论的活动。注释本身有一个布局,所以我不能只使用ListView。
我用循环添加注释,程序遍历整个循环(通过LogCat检查),但只将第一个View(注释)添加到linearlayout。
我的代码(实际上fillComments参数不是String []):
@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 :(得分:6)
mCommentArea = (LinearLayout) findViewById(R.id.comments_area);
此布局方向为水平,因此会出现此问题。如果是水平方向,请将其改为垂直方向并享受
答案 1 :(得分:2)
您是如何定义LinearLayout的?这可能只是一个显示问题。 检查LinearLayout的大小和方向。