从Android中的ListView中选择项目后显示新列表?

时间:2011-01-01 18:26:14

标签: android listview

我刚开始使用Android。我已经能够成功显示列表并处理任何特定项目的点击。我想要做的是根据点击的项目显示一个新列表。

例如......

Florida
Georgia
....

用户点击佛罗里达州并显示新列表...

Miami
Tampa
..

我应该创建一个新的Activity并以这种方式处理它吗?出于某种原因,我无法找到涵盖此场景的示例代码。

2 个答案:

答案 0 :(得分:1)

最常见的方式是进行另一项活动。在onItemClick处理程序中,您创建一个Intent,传入您单击的项目,然后启动它。

类似

ListView listView = new ListView(this);
listView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    Object obj = listView.getAdapter().getItem(arg2);
    Intent in = new Intent(FirstListActivity.this, SecondListActivity.class);
    in.putExtra("obj", obj );
    startActivity(in);
}

});

然后在第二个活动中,您可以单击该对象,然后使用该对象填充另一个列表视图。这样做的好处是用户可以使用撤消按钮很好地返回到第一个列表。

请记住,您传递的对象必须实现Serializable或基本类型。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    final Object obj  = getIntent().getSerializableExtra("obj");
    ...

答案 1 :(得分:0)

听起来你需要在点击第一个列表中的项目后,使用具有第二个值列表的适配器调用setListAdapter()

  

我应该创建一个新的活动和   这样处理它?<​​/ p>

你绝对可以走这条路线,但从你的描述来看,只需将ListView内容设置为第二组值即可。