片段事务的堆栈大小

时间:2017-01-03 17:27:09

标签: android

使用按钮从活动启动片段。此片段是动态启动的。我试着看看片段堆栈会发生什么。

launchBtn.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {
            Fragment newFragment = new SomeFragment();
            // consider using Java coding conventions (upper first char class names!!!)
            FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
            transaction.add(R.id.frame_container, newFragment);
            transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
            transaction.addToBackStack("add_fragment");
            transaction.commit();
            int entryCount = getFragmentManager().getBackStackEntryCount();
            Log.d("New size ", String.valueOf(entryCount));
        }
    });

entryCount的值最终是保持零,我很好奇为什么。

第二个问题是如何从一些片段(从某些活动以这种方式启动)返回到初始活动。

1 个答案:

答案 0 :(得分:2)

如果您希望立即完成FragmentTransaction,则不会立即调用

commit()方法,请使用commitNow()

要隐藏片段,您可以使用hide()方法。