活动A不是来自活动B.

时间:2014-08-13 11:27:14

标签: android fragment onresume

我从片段A开始B片段。现在从片段B开始我点击Home Button.Again我打开应用程序并调用OnResume。现在,如果我按回按钮,它将退出应用程序。我该怎么办?

片段A到片段B活动

   Intent find = new Intent(getActivity(),FindActivityMain.class);
                    find.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                    ***startActivity(find);***Here i am not finishing the activity.

片段B活动到片段B交易代码

    Fragment myfindfragment = new   FindFragmentMain(FindActivityMain.this,mylistitem,FindActivityMain.this,distance,featuredAD);



        getSupportFragmentManager().beginTransaction()
        .replace(R.id.blankfindlandingframe, myfindfragment).commitAllowingStateLoss();         


}

片段A活动是在Manifest中声明的“SingleInstance”。一般来说,后退导航工作正常。但是如果我执行这些步骤 - > 1.)单击主页按钮 2.)再次长按主页按钮恢复应用程序 3.)单击后退按钮。退出应用程序。

不应该发生第3步。

请帮助!!

3 个答案:

答案 0 :(得分:0)

删除find.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

答案 1 :(得分:0)

添加你的代码'addToBackStack(null)'

Fragment myfindfragment = new   FindFragmentMain(FindActivityMain.this,mylistitem,FindActivityMain.this,distance,featuredAD);



        getSupportFragmentManager().beginTransaction()
        .replace(R.id.blankfindlandingframe, myfindfragment).addToBackStack(null).commitAllowingStateLoss();         


}

答案 2 :(得分:0)

内部活动B添加:

public boolean onKeyDown(int keyCode, KeyEvent event)  
{
     if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0)
     {
        finish();
        return false;
     }
    return super.onKeyDown(keyCode, event);
}