希望这不是一个糟糕的问题,但我已经搜索了S.O.并且一直未能找到答案。
我正在创建一个基本上是闹钟的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>
如您所见,只有三个硬编码的文本视图,而不是用户创建的许多文本视图。
同样,我希望这不是一个问题的深度或者在其他地方有答案的问题,但我搜索它并找不到任何东西。
提前致谢!
答案 0 :(得分:6)
您可以通过编程方式执行此操作:
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;
}