在ScrollView中的RelativeLayout中的其他人之下插入TextView

时间:2014-03-30 08:13:16

标签: java android xml scrollview relativelayout

我想知道,如何在ScrollView中向RelativeLayout添加大量TextView(当然,textview可以向上滚动)

在我的XML代码中,它很简单:

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:layout_below="@+id/bde" >

    <RelativeLayout
        android:id="@+id/layout_"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical" >

    <TextView
            android:id="@+id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:text="TextView" />
        <TextView
            android:id="@+id/textView2"
            android:layout_below="@id/textView1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView" />

    </RelativeLayout>

</ScrollView>

除了我想添加Java代码,对于每个来自数据库的TextView(没有db问题),在布局中添加自己,更重要的是,一个接一个。

现在,我有:

 //Layout in ScrollView
 RelativeLayout r = (RelativeLayout) findViewById(R.id.layout_);

 //for add TextView
 for(int i = 0 ; i < nbr_limite ; i++){
TextView v1 = new TextView(r.getContext());

v1.setText("Test n_"+i);
v1.setId(i+1);

r.addView(v1);
 }

事实上,我想要一个:android:layout_below="@id/textView1"但是在Java中用@id/textView1替换getLastId()粗略地说。

更粗略地说,它将是:r.addLastView(v1)

我在等你的回答或评论:)

1 个答案:

答案 0 :(得分:0)

RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);

TextView tv = new TextView(r.getContext());
v1.setText("Test n_"+i);
v1.setId(i+1);

params.addRule(RelativeLayout.BELOW, tv.getId()-1);


r.addView(tv);

这也是你问题的答案.... Programatically add view one below other in relative layout