我想在我正在用Eclipse编写的Android应用程序中显示一个活动。这就是我这样做的方式:
Intent intent = new Intent(HomeActivity.this, SecondActivity.class);
intent.putExtra("query", query);
startActivity(intent);
如何处理新活动的事件,就在我展示的地方?我为第二个活动做了一个事件监听器。如果我想处理事件,我应该创建类“SecondActivity”的实例,如下所示:
SecondActivity act = new SecondActivity();
act.itemselectedlisteners.add(new ListItemSelectedListener() {
@Override
public void onItemSelected(String key) {
// TODO Auto-generated method stub
}
});
但后来我不知道如何显示对话框。如何组合这些代码?
答案 0 :(得分:3)
您永远不应该使用new
实例化活动。此外,在调用Activity
中设置事件侦听器是没有意义的,因为它将在第二个显示时被带到后台(意味着在非运行模式下)。
在Android中执行所需操作的正确方法是使用startActivityForResult
,并在您感兴趣的事件发生时让第二个活动返回到第一个适当的结果。这也将进一步解耦你的活动,因为第一个活动不需要知道第二个活动发生的任何事情。