首先,这是我的代码:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout linLayout = new LinearLayout(this);
TextView text=new TextView(this);
ArrayList<String> recup = recupData();
List<TextView> lvariables = new ArrayList<TextView>();
int i = 0;
for(i=0;i<recup.size();i++){
text.setText(recup.get(i)+"\n");
lvariables.add(text);
linLayout.addView(lvariables.get(i));
}
setContentView(linLayout);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
现在,我的问题是: 如何在同一个布局上显示N个文本视图(在循环中生成并存储在我的列表中)(例如,一个在另一个下面)! /强>
使用您可以看到的代码,我收到“IllegalState”异常!
这是XML文件,以防万一:
<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=".MainActivity" >
</RelativeLayout>
(简短不是!?:/)
我很有道理,这个问题基本而愚蠢,但我不能让我的大脑去理解android哲学的运作方式!
如果某人有足够的耐心帮助解决我的问题,即使在StackOverFlow上已经讨论了一百万次,我也会非常感激!
我非常感谢您提供的任何帮助! 哦,拜托,请原谅我的英语,我是法国人......:D
答案 0 :(得分:2)
你总是添加不同的TextView
变化:
for(i=0;i<recup.size();i++){
text.setText(recup.get(i)+"\n");
lvariables.add(text);
linLayout.addView(lvariables.get(i));
}
带
for(i=0;i<recup.size();i++){
TextView text=new TextView(this);
text.setText(recup.get(i)+"\n");
lvariables.add(text);
linLayout.addView(text);
}
编辑:要将LinearLayout的方向更改为垂直:
LinearLayout linLayout = new LinearLayout(this);
linLayout.setOrientation(LinearLayout.VERTICAL);