我尝试使用 Conductor 库,但 backstack 有问题。我在底部导航面板中有一个带有 4 个按钮的活动。ACTIVITY 中的每个按钮打开 4 个控制器中的 1 个: - 今日新闻(根控制器) - 趋势新闻 - 市场新闻 - 监管新闻
我需要将所有控制器添加到 backstack,当我点击后退按钮时,我必须返回到前一个控制器。例如:今天 -> 市场 -> 趋势 如果我点击趋势控制器中的后退按钮,我必须返回市场等但是现在当我在任何控制器中点击背面时,活动正在关闭。我该如何实现这种行为?这是我活动中的代码:
@Override
public void navigateToMarketHighlights() {
MarketHighlightsController marketHighlightsController = new MarketHighlightsController();
router.pushController(RouterTransaction.with(marketHighlightsController)
.popChangeHandler(new FadeChangeHandler())
.pushChangeHandler(new FadeChangeHandler()));
}
@Override
public void navigateToTrendingNow() {
TrendingNowController trendingNowController = new TrendingNowController();
router.pushController(RouterTransaction.with(trendingNowController)
.popChangeHandler(new FadeChangeHandler())
.pushChangeHandler(new FadeChangeHandler()));
}
@Override
public void navigateToTodayView() {
TodayController todayController = new TodayController();
router.pushController(RouterTransaction.with(todayController)
.popChangeHandler(new FadeChangeHandler())
.pushChangeHandler(new FadeChangeHandler()));
}
@Override
public void navigateToRegulatoryUpdatesView() {
RegulatoryUpdatesController regulatoryUpdatesController = new RegulatoryUpdatesController();
router.pushController(RouterTransaction.with(regulatoryUpdatesController)
.popChangeHandler(new FadeChangeHandler())
.pushChangeHandler(new FadeChangeHandler()));
}