我想动态添加布局。实际上在我的应用程序中我正在评论部分。我已在LinearLayout和内部添加了ImageView(UserPics),Edittext和Post按钮的评论视图。
评论的XML是这样的:
<LinearLayout
android:id="@+id/commment_section"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dip"
android:orientation="vertical"
android:layout_below="@+id/nmd_user_img"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>
<ImageView
android:id="@+id/cmt_user_image"
android:layout_width="30dip"
android:layout_height="30dip"
android:layout_margin="5dip"
android:padding="5dip"
android:background="@color/layout_bg"/>
<EditText
android:id="@+id/cmt_user_edt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@id/cmt_user_image"
android:layout_marginLeft="10dip"
android:padding="5dip"
android:hint="Enter your comments"/>
<ImageButton
android:layout_width="30dip"
android:layout_height="30dip"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_marginTop="5dip"
android:layout_marginRight="15dip"/>
</RelativeLayout>
</LinearLayout>
现在,由于多个用户可以添加评论。我希望用户一旦输入评论,就可以在上一条评论的下方动态添加这样的新布局。
答案 0 :(得分:2)
您应该创建注释行的xml视图并对其进行充气并将其添加到父视图中。
假设comment.xml是要动态添加的评论行的视图,以便按照以下方式对其进行充气:
LayoutInflater inflator = (LayoutInflater)getSystemService(LAYOUT_INFLATER_SERVICE);
View commentView = inflator.inflate(R.layout.your_xml, null);
commentView.setId(commentID);
yourLinearLayout.addView(commentView);
您可以使用视图对象设置注释行中的任何内容并调用findViewById。这样在java文件中没有布局准备代码,这使得它非常简单,就像我们在适配器的getView中所做的那样:)
如果您遇到困难,请告诉我。
答案 1 :(得分:1)
假设您在LinearLayout
然后在java
档案
Relativelayout rl = new RelativeLayout(this);
yourLinearLayout.addView(rl);
将ID设置为布局
someLayout.setId (12); //ID should be of integer type.