我有一个ScrollView
的活动,然后我必须使用LinearLayout
显示数据列表,这将导致动态添加和删除数据,如下所示:
layout_main.xml:
<ScrollView>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- other views -->
<!-- data holder -->
<RelativeLayout
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="wrap_content"></RelativeLayout>
<!-- other views -->
</RelativeLayout>
</ScrollView>
layout_item.xml:
<LinearLayout>
<TextView android:id="@+id/index"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
然后在代码中:
RelativeLayout container=findViewById(R.id.container);
private void onDataRequested(List<Data> items){
container.removeAllViews();
for(Data d : items){
LinearLayout ll= (LinearLayout) getLayoutInflater().inflate(R.layout.layout_item,null);
((TextView)ll.findViewById(R.id.index)).setText(d.getIndex()+"");
((TextView)ll.findViewById(R.id.name)).setText(d.getName());
ll.setOnClickListener(new OnClickListener(){
.....
});
container.addView(ll);
}
}
我想知道这是否是正确的方法,或者这是否会导致任何性能问题?
顺便说一下,为什么我不使用带有标题和脚的ListView
代替ScrollView
,因为其他视图不适合添加为标题和脚,因为有这么多这样的观点。