启动新活动也会触发onPause方法

时间:2012-02-18 22:43:24

标签: android dynamic android-activity

我有一个列表视图,上面写着“详细信息”,当用户点击其中一个项目时,我正在获取某些“详细信息”的位置,并将用户带到编辑屏幕,动态数据加载到某些变量

当我启动详细信息活动时,logcat告诉我,详细活动和我的mainmenu活动都已启动,这将我的用户带到主菜单。这显然不会让任何人高兴,我想知道是否有人可以为我提供一些帮助,为什么会发生这种情况呢?

代码:

DetailsButton:

    removeLi.setOnItemClickListener(new OnItemClickListener() {

            public void onItemClick(AdapterView<?> aV, View v, int pos,
                    long arg3) {
                // TODO Auto-generated method stub
                information.open();
                information.delete(pos + 1);
                information.close();

                rowAdapter.notifyDataSetChanged();
                whenAdapter.notifyDataSetChanged();
                postedAdapter.notifyDataSetChanged();
                detailsAdapter.notifyDataSetChanged();
                editAdapter.notifyDataSetChanged();
                removeAdapter.notifyDataSetChanged();

                Dialog sucDeleted = new Dialog(ManageAppointment.this);
                sucDeleted.setTitle("Sucesfully deleted");
                TextView tvDintWorked = new TextView(ManageAppointment.this);
                tvDintWorked.setText("The appointment at position:" + pos
                        + " was sucesfully deleted");
                sucDeleted.setContentView(tvDintWorked);
                sucDeleted.show();

            }
        });

onPause方法:

@Override
protected void onPause() { // TODO Auto-generated method stub
    super.onPause();
    Intent main = new Intent("com.DCWebMakers.Vairon.MAINMENU");
    startActivity(main);
}

感谢。

2 个答案:

答案 0 :(得分:3)

onPause()始终在每个活动上调用,如果另一个活动已启动并按指定的here替换它。如果要覆盖后退按钮的行为以启动特定活动,请考虑覆盖onBackPressed()方法,而不是将代码添加到onPause()中。

答案 1 :(得分:0)

这就是设计的。每当另一个活动涵盖当前活动时,onPause()方法就会运行,即使它是您自己的活动。请参阅activity documentation。真正的问题是,你为什么要开始onPause()中的主要活动?