按下后面按钮上的FragmentActivity Back Stack

时间:2012-01-20 10:49:07

标签: android android-fragments

我正在尝试将片段应用到旧应用中,以便我可以支持平板电脑。因为我想支持3.0之前的手机,所以我正在使用v4支持包中的FragmentActivity。

我有一个主要的fragmentActivity,如果应用程序没有在平板电脑上运行,它会打开第二个片段活动。

public class MainActivity extends FragmentActivity implements POIListFragment.ListItemSelectedListener{

    private POIDetailFragment detailFrag;
    private boolean isFirst = true;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.list_layout);

    }

    @Override
    public void onListItemSelected(String id, boolean isRest) {
        detailFrag = (POIDetailFragment) getSupportFragmentManager().findFragmentById(R.id.poiDetailFragment);

        if (detailFrag == null) {
            if(isFirst){
                isFirst = false;
            } else {
                Intent intent = new Intent(this, DetailFragmentActivity.class);
                Bundle data = new Bundle();
                data.putString("id", id);
                data.putBoolean("isRest", isRest);
                intent.putExtras(data);

                startActivity(intent);  
            }
        } else {
            detailFrag.update(id, isRest);
        }

}

这部分代码运行正常。 statActivity(意图);打开新的片段活动。但是,当按下该片段活动上的后退按钮时,整个应用程序将关闭。

如何让当前的片段活动关闭,揭示前一个?

1 个答案:

答案 0 :(得分:0)

不幸的是,新手错误。我以前一直使用这个活动作为启动画面,因此有了android:noHistory =" true"清单中的标记。我改变了它以后工作正常。