onKeyDown / onBackPressed未触发

时间:2011-06-28 17:26:36

标签: android back onkeydown activitygroup pressed

在哪些情况下onKeyDown,onBackPressed没有触发?

在我的情况下,我在背景中有一个带活动组的TabActivity,其中存储了所有即将到来的视图/活动。 ActivityGroup负责添加和删除视图。因此,当我在主选项卡中启动一个新的Activity时,将调用ActivityGroup的startChildActivity方法:

public void startChildActivity(String viewId, Intent intent) {
    Window window = getLocalActivityManager().startActivity(viewId, intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP));
    if(window != null) {
        history.add(new HistoryContainer(viewId));
        setContentView(window.getDecorView());
    }
}

如果我现在以这种方式启动Activity Dummy,那么像onKeyDown或onBackPressed这样的keyEvents就不会再触发了。正在发生的事情是应用程序正在关闭。

public class Dummy extends Activity {
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.dummy);
}

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
    MazdaGroup.group.back();
    return true;
}

@Override
public void onBackPressed() {
    MazdaGroup.group.back();
}

}

很高兴为您提供帮助!

0 个答案:

没有答案