我正在尝试为 android 做 rss 阅读器。我从 web 服务中获取数据并放入 arraylist。然后我在活动类中使用该数组列表。我想创建计数等于数组列表大小的表行和文本视图。这里没有问题。但是当我执行应用程序时,所有文本视图都会给出相同的结果(数组列表的最后一项) .所有arraylist 项目都是不同的。我期待这个结果
新闻[1]
新闻[2]
新闻[3] ....
但我明白了
新闻[20]
新闻[20]
新闻[20]
我不明白有什么问题。我尝试从 for 循环中创建 textview 和 row 实例,但我得到“.IllegalStateException:指定的子级已经有父级”异常。我有一个新闻pojo,这是我的代码。
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.guncel);
WebService ws = new WebService();
TableLayout tb = (TableLayout) findViewById(R.id.tbl1);
news news1 = null;
List<news> newslist;
URL serviceURL;
try {
serviceURL = new URL(
"http://rss.hurriyet.com.tr/rss.aspx?sectionId=1");
newslist = ws.getList(serviceURL);
for (news new1 : newslist) {
TableRow row = new TableRow(this);
TextView txtview = new TextView(this);
row.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,
LayoutParams.WRAP_CONTENT));
news1 = (news) newslist.get(i);
txtview.setText(new1.getTitle());
System.out.println(new1.getTitle());
row.addView(txtview);
tb.addView(row);
}
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
好吧,这是我的错。我没有仔细检查我的清单。列表中表示对象的所有项目都是相同的。抱歉问了不好的问题。