我刚开始使用Android。我已经能够成功显示列表并处理任何特定项目的点击。我想要做的是根据点击的项目显示一个新列表。
例如......
Florida
Georgia
....
用户点击佛罗里达州并显示新列表...
Miami
Tampa
..
我应该创建一个新的Activity并以这种方式处理它吗?出于某种原因,我无法找到涵盖此场景的示例代码。
答案 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
内容设置为第二组值即可。