在android中动态添加和删除视图

时间:2013-12-21 06:54:32

标签: android

我有一个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,因为其他视图不适合添加为标题和脚,因为有这么多这样的观点。

0 个答案:

没有答案