2

我正在开发一个 android 应用程序,其中包含一个具有 4 个选项卡的 tabhost。所有 4 个选项卡都导航到扩展活动组的同一类 Activity1。

从 Activity1 我再次使用以下代码导航到另一个活动 Activity2,

Intent intent = new Intent(arg1.getContext(), Activity2.class);
            replaceContentView("sample", intent, Intent.FLAG_ACTIVITY_CLEAR_TOP);

public void replaceContentView(String id, Intent newIntent, int flag) {
    View view = getLocalActivityManager().startActivity(id,newIntent.addFlags(flag)).getDecorView(); 
    this.setContentView(view);

现在,从这个新活动中,当按下设备返回按钮时,我需要返回到 Activity1。我用以下代码覆盖了 Activity2 中的 onbackpressed() 方法,

Intent intent = new Intent(this, Activity1.class); 
    Activity parentActivity = (Activity1)getParent(); 
    parentActivity.replaceContentView("sample", intent, Intent.FLAG_ACTIVITY_REORDER_TO_FRONT );

当我运行代码时,它实际上移出 Activity2,但它也移出 Activity1。我需要的是从 Activity2 回到 Activity1 ......谁能帮助我?

4

2 回答 2

0

试试这个代码

    public boolean onKeyDown(int keyCode, KeyEvent event)  
    {
     if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0)
     {
        this.moveTaskToBack(true);
        return true;
     }
    return super.onKeyDown(keyCode, event);
   }
于 2013-03-01T11:33:32.530 回答
0

一个简单的调用就finish()可以满足您的需求。

您可以参考Android: Go back to previous activity了解详细说明。

于 2013-03-01T11:44:47.200 回答