如何在视图元素之间添加TextView / Button。
我正在收集来自服务器的评论及其回复,如果评论有回复,那么它将显示查看回复按钮,当用户触摸该按钮时,它将获取该评论的回复并仅在该评论下方显示。当用户再按回复按钮,它就会消失
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:id="@+id/commentScrollLayout"
>
</LinearLayout>
</ScrollView>
在LinearLayout-id-commentScrollLayout中添加了获取的注释,所以我的问题是如何插入/删除该注释的回复?
答案 0 :(得分:3)
您可以在LinearLayout
上使用addView方法。此方法采用第二个参数 - 要插入视图的位置索引。现在,您需要根据按下的注释确定此索引。您可以使用indexOfChild方法:
View pressedComment; // Comment pressed by user.
LinearLayout comments = (LinearLayout) findViewById(R.id.commentScrollLayout);
// Get index of pressed comment.
int index = comments.indexOfChild(pressedComment);
// Create reply text view.
TextView reply = ..;
// Insert reply after the comment.
comments.addView(reply, index + 1);
要删除,您可以按索引删除回复,如果您在某处保存了视图,则可以按视图删除回复。查看removeView和removeViewAt。
答案 1 :(得分:-1)
您可以使用这2个命令删除和添加视图。
View.removeView();
View.addView();
通过致电
获取视图findViewById(R.id.yourviewid);
在代码中创建视图:
TextView tv = new TextView(this);
示例强>
添加视图
LinearLayout ll = (LinearLayout) findViewByid(R.id.commentScrollLayout);
TextView tv = new TextView(this);
tv.setId(1337);
tv.setText("Test");
ll.addView(tv);
删除视图
LinearLayout ll = (LinearLayout) findViewByid(R.id.commentScrollLayout);
TextView tv = (TextView) findViewByid(1337);
ll.removeView(tv);
OR
使TextView全局化,您不需要id。