Bevor ich zur Datenseite gehe, habe ich auf der vorherigen Seite einen ListviewBuilder, der angeklickt werden muss.
Wenn der Klick abgeschlossen ist, passieren zwei Dinge:
- Zuerst wird die Seite zu einer Ladeseite navigiert. Und nach der Navigation wird die Methode zum Abrufen von Daten von Jason ausgeführt, die getDescriptionData heißt.
Aber wenn die Navigation abgeschlossen ist, scheinen die Werte null zurückzugeben, und als Ergebnis wird die Der von mir eingegebene Standardwert „null“ wird angezeigt und ich lade ihn einmal per HotReload, damit die Originaldaten auf der Seite angezeigt werden.
Ich benötige die Indexnummer von ListView.builder zur Verwendung in der getDescriptionData-Methode.
Ich verwende keine Statusverwaltung.
Haben Sie eine Lösung?
Code: Select all
onTapCode: Select all
onTap: () async {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => testSplashScreen(),
),
);
getDescriptionData(context, index);
},
Code: Select all
Future getDescriptionData(context, int onIndex) async {
var responce = await Dio()
.get('*******/${onIndex + 1}'.toString());
var jsonMapObject = responce.data;
var movieDescription = MovieDescription.fromMapJson(jsonMapObject);
await Navigator.pushReplacement(
context,
MaterialPageRoute(
builder: (context) => DescriptionPage(descriptions: movieDescription),
),
);
}
Mobile version