Android动态TextView位置

时间:2013-09-04 18:05:13

标签: android android-layout textview

我必须通过运行查询来获取数据。所以,我需要一个可以动态添加数据的TextView。这是我在TextView中动态获取和分配数据的代码

        do{
            int count = cursor.getCount();
            final TextView[] myTextViews = new TextView[count]; 

            for(int counter = 0; counter<count ; counter++){
                getName = cursor.getString(cursor.getColumnIndexOrThrow("NAME"));
                affiliation_ID = cursor.getString(cursor.getColumnIndexOrThrow("NUMBER"));
                final TextView rowTextView = new TextView(this);
                rowTextView.setText(Html.fromHtml(getName+"<sup><small>"+affiliation_ID+"</small></sup><br/>"));
                rel.addView(rowTextView);
                }          
        } while(cursor.moveToNext());

它给我这样的结果。

enter image description here

正如您所见,一个词与另一个词重叠。这是我的xml文件

<?xml version="1.0" encoding="utf-8"?>
    <ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/scrollView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:fillViewport="true" >

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="match_parent" >

        <TextView
            android:id="@+id/ConTopic"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:textAppearance="?android:attr/textAppearanceSmall" />

        <TextView
            android:id="@+id/ConTitle"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/ConTopic"
            android:layout_marginTop="22dp"
            android:text="Medium Text"
            android:textAppearance="?android:attr/textAppearanceMedium" />

       <RelativeLayout
            android:id="@+id/rel"
            android:layout_width="fill_parent"
            android:layout_height="match_parent" >
       </RelativeLayout>

    </RelativeLayout>

</ScrollView>

所以,我需要知道或者我的问题是

1)如果我想在ConTitle下显示这些文字。我该怎么办? 2)对于案例1,如何动态添加TextView的愿望位置和文本大小。 3)如果我想在动态添加的TextView下添加另一个简单的Texview(普通文本),我可以这样做吗?

最后一件事,这就是我想要实现的目标

enter image description here

1 个答案:

答案 0 :(得分:1)

您可以使用追加方法。有单个textview并将textview添加到您的布局。附加新数据并为新行附加\n

另外,为什么你有一个for循环和一段时间。一个while循环就足够了

 TextView tv = new TextView(ActivityName.this);
 rel.addView(tv);   
    if (cursor !=null && cursor.moveToFirst()) {
        do {
            getName = cursor.getString(cursor.getColumnIndexOrThrow("NAME"));
            affiliation_ID = cursor.getString(cursor.getColumnIndexOrThrow("NUMBER"));
            tv.append(Html.fromHtml(getName+"<sup><small>"+affiliation_ID+"</small></sup><br/>"));
            tv.append("\n"); 

        } while (cursor.moveToNext());
    }