Android显示后退按钮取决于后退计数



我想根据当前的backstack条目计数显示或隐藏操作栏的后退按钮。这意味着当backstack中有一个片段(或更多)时,我想显示它,当backstack为空时隐藏它

getSupportActionBar().setDisplayHomeAsUpEnabled(b);

问题是,当我开始一个新的片段并请求当前的backstack条目计数时,它仍然像以前一样。在几毫秒后刷新。

同样在开始的片段的onResume方法中,被替换的片段仍然无法在backstack中找到,backstack计数仍然相同。

目前我有一个AsyncTask在50毫秒后刷新按钮。可以,但这不是个好办法。

任何想法?

问好

编辑:
解为

fragmentManager.addOnBackStackChangedListener(...)

不需要AsyncTask,你已经有了一个Backstack接口,当Fragment被添加或删除时,它会触发onBackStackChangeListener,所以不是调用它,而是调用getBackstackEntryCount(),如果它不是0,那么你知道你要做什么

当我开始一个新的片段并请求当前backstack条目计数时,它仍然和

之前一样

您需要在add()replace()调用FragmentTransaction之后将您的事务添加到Backstack,如.addToBackstack("the identifier")

一些间接帖子

希望有所帮助

相关内容

  • 没有找到相关文章

最新更新