调用setContentView()后如何填充ListView?

时间:2011-07-17 22:00:20

标签: android android-layout

我的应用很简单,只有两个视图。第一个是登录页面。登录后,我调用setContentView()切换到第二个视图。

第二个视图包含一个列表,其中包含在显示视图后从远程服务器获取的数据。

我遇到的问题是,当使用setContentView()显示其包含视图时,我无法弄清楚如何填充列表。

有关如何处理此处或在何处查看的任何建议?我见过的大多数例子都建议创建一个扩展ListActivity的类,然后,该类如何实例化?

2 个答案:

答案 0 :(得分:3)

如果要切换到ListviewActivity,则不要使用setContentView(); setContentView()仅用于加载包含新视图的新XML文件,或用于加载包含其余视图的视图(即LinearLayout)。

要加载ListviewAcivity,您需要使用意图。

假设您有登录活动:LoginActiviy.java,以及数据活动(ListviewAcitivity)DataActivity.java,然后使用以下代码加载数据活动:

Intent intent = new Intent(LoginActivity.this, DataActivity.class);
startActivity(intent);

现在,在DataActivity.java中,您使用setContentView加载该活动的视图。 您还可以使用DataActivity.java从服务器加载数据并在屏幕上显示它。

希望这有帮助!

答案 1 :(得分:2)

ListViews使用适配器来确定其内容。这些适配器具有某种数据支持。有时这是来自本地数据库的Cursor,有时这是一个静态的元素数组,有时这是一个可变的集合。听起来我希望数据能够改变。

查看这篇文章,了解如何创建由可以更改的集合支持的ListView:

adding item to listView after passing info through an intent in Android