6

希望这不是一个坏问题,但是我已经通过 SO 进行了搜索,但无法找到答案。

我正在创建一个本质上是闹钟的 android 应用程序。我希望主要活动显示所有已创建的警报以及有关警报的一些信息。我的问题是如何根据已创建的警报数量创建给定数量的文本视图。例如,如果用户创建(而不是删除)5 个警报,我如何让它显示 5 个文本视图,而不仅仅是硬编码的文本视图数量?以下是我用于测试功能的硬编码原型(除了这个挂断)。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Launch" >

    <ScrollView
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent">
        <LinearLayout android:orientation="vertical" 
                      android:layout_width="fill_parent" 
                      android:layout_height="fill_parent">

            <TextView
                android:orientation = "vertical"
                android:layout_width="fill_parent"
                android:layout_height="75dp"
                android:text="Time"/>
                    <View
                    android:layout_width="fill_parent"
                    android:layout_height="0.2dp"
                    android:id="@+id/separator"
                    android:visibility="visible"
                    android:background="@android:color/darker_gray"/>

            <TextView
                android:orientation = "vertical"
                android:layout_width="fill_parent"
                android:layout_height="75dp"
                android:text="Time"/>
                    <View
                    android:layout_width="fill_parent"
                    android:layout_height="0.2dp"
                    android:id="@+id/separator"
                    android:visibility="visible"
                    android:background="@android:color/darker_gray"/>

            <TextView
                android:orientation = "vertical"
                android:layout_width="fill_parent"
                android:layout_height="75dp"
                android:text="Time"/>
                    <View
                    android:layout_width="fill_parent"
                    android:layout_height="0.2dp"
                    android:id="@+id/separator"
                    android:visibility="visible"
                    android:background="@android:color/darker_gray"/>


        </LinearLayout>

    </ScrollView>


</RelativeLayout>

如您所见,只有三个硬编码的文本视图,而不是用户创建的多个文本视图。

再次,我希望这不是一个问题或一个在其他地方发布了答案的问题,但我搜索它并找不到任何东西。

提前致谢!

4

1 回答 1

9

您可以以编程方式执行此操作:

int size = numAlarms; // total number of TextViews to add

TextView[] tv = new TextView[size];
TextView temp; 

for (int i = 0; i < size; i++) 
{
    temp = new TextView(this);

    temp.setText("Alarm: " + i); //arbitrary task

    // add the textview to the linearlayout
    myLinearLayout.addView(temp);

    tv[i] = temp;
}
于 2013-06-18T03:43:11.660 回答