点击行我会得到一些id,现在我需要使用该id调用另一个webservice,它应该显示另一个列表。假设我点击了第一行,即Board“A”。然后下一个Listview应该是A的子列表。它可能如下所示
A1,A2等可能有也可能没有子菜单。
我可以从点击的行中获取id。如果列表为空则表示不再有子菜单。 我不知道如何设计这个系统?有谁有想法吗?提前致谢
PS:我将不得不进行不同的webservice调用,以获取每个子菜单,这些子菜单取决于从listview行传递的ID,点击
答案 0 :(得分:1)
一些让你入门的想法:
不要使用ListView
,而是查看GridView
。 ListView不支持多个列(您必须手动支持)并且为此目的引入了GridView。
假设您的初始列表显示在自己的活动中。这意味着您有一个活动在其onCreate()
上查询Web服务,然后在从Web服务异步返回时在ListView / GridView中显示结果。
将子菜单保存在自己的活动中会很方便。这意味着您应该为子菜单创建另一个活动(可能它可以与第一个共享代码,甚至可以从中派生代码以减少代码重复)。此活动将在其Intent
参数(请查看Intent.putExtra
和Intent.getExtra
)中收到,该参数告诉它单击了哪一行(它通常应包含您要传递的字符串过滤器到网络服务)。创建此活动后,在其onCreate
中,它应该像第一个活动一样查询Web服务,并在其自己的ListView / GridView中显示其结果。
要连接两个活动,您需要捕获第一个活动中的点击事件,找出点击了哪一行,然后创建Intent
以显示第二个活动,通过额外并展示它。
此方法将允许用户在完成后使用后退键关闭第二个活动。一旦被解雇,用户将返回第一个活动,他们可以点击另一行。