这是我的第二页按钮,转到第三页。
onPressed: () {
Navigator.push(context, MaterialPageRoute(builder:
(context) => MapsPage(index: widget.index))
);
},
这是第三页的按钮,它会把信息送回第二页,但当按下第二页回到第一页时,它必须按两次,这就像现在换了一张新面孔。
void saveAddress() {
var lat = centerMap.latitude;
var lng = centerMap.longitude;
Navigator.of(context).pushReplacement(MaterialPageRoute(
builder: (_) => EditAddressPage(
index: widget.index,
lat: lat.toString(),
lng: lng.toString(),
),
));
print("Saving address: Latitude: $lat, Longitude: $lng");
}
1条答案
按热度按时间tct7dpnv1#
pushReplacement
方法用新的路线替换导航堆栈中的当前路线,而不是将新路线压入堆栈顶部。这意味着当您按下后退按钮时,您不会返回到上一条路线(第2页),而是返回到被替换的路线(第1页)。要解决此问题,您可以在从第3页导航到第2页时使用push方法而不是
pushReplacement
。这将向导航堆栈添加新路线,而不是替换当前路线,并允许您在按下后退按钮时导航回第2页。