「タイムスタンプ」はタイプ「int」のサブタイプではありません-Flutter-FirebaseFirestore

theiskaa

Cloud Firestoreからタイムセットデータを取得しようとすると、エラーが発生しました。設定すればtimestampsInSnapshots: true問題は解決すると思いますが、使っているcloud_firestore: ^0.16.0ので設定できず、どうしたらいいのかわからなかったです。を使用cloud_firestore: ^0.8.2+1すると、Firestoreの設定を構成できます。しかし、バージョン0.16.0でこの構成を設定したい

問題について:

The following _TypeError was thrown building StreamBuilder<QuerySnapshot>(dirty, state: _StreamBuilderBaseState<QuerySnapshot, AsyncSnapshot<QuerySnapshot>>#ec8a0):
type 'Timestamp' is not a subtype of type 'int'

The relevant error-causing widget was
StreamBuilder<QuerySnapshot>
lib/…/main/profile.dart:66
When the exception was thrown, this was the stack
#0      _ProfileState.buildExamHistoryList.<anonymous closure>.<anonymous closure>
lib/…/main/profile.dart:97
#1      MappedListIterable.elementAt (dart:_internal/iterable.dart:411:31)
#2      ListIterator.moveNext (dart:_internal/iterable.dart:340:26)
#3      new _GrowableList._ofEfficientLengthIterable (dart:core-patch/growable_array.dart:188:27)
#4      new _GrowableList.of (dart:core-patch/growable_array.dart:150:28)
...

ここに画像の説明を入力してください

ファイヤーストアからデータを設定したいストリーム:

Widget buildExamHistoryList() {
    return StreamBuilder<QuerySnapshot>(
      stream: usersRef.doc(widget.userID).collection('examResults').snapshots(),
      builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
        if (snapshot.hasError) {
          return Center(
            child: Text("Something Went Wrong"),
          );
        }
        switch (snapshot.connectionState) {
          case ConnectionState.waiting:
            return Container(
              padding: EdgeInsets.only(top: 100),
              child: Center(
                child: SpinKitFadingCircle(
                  color: Colors.black,
                  size: 50,
                ),
              ),
            );
            break;
          default:
            return Column(
              children: [
                ListView(
                  shrinkWrap: true,
                  children: snapshot.data.docs.map((doc) {
                    return Padding(
                      padding: const EdgeInsets.all(10),
                      child: ExamHistoryCard(
                        correctAnswersCount: doc['correctAnswersCount'],
                        incorrectAnswersCount: doc['incorrectAnswersCount'],
                        date: _examHistoryService.readTimestamp(doc['date']),
                      ),
                    );
                  }).toList(),
                ),
              ],
            );
        }
      },
    );
  }

それが私のreadTimestamp機能です:

 String readTimestamp(int timestamp) {
    var now = DateTime.now();
    var format = DateFormat('HH:mm a');
    var date = DateTime.fromMillisecondsSinceEpoch(timestamp * 1000);
    var diff = now.difference(date);
    var time = '';

    if (diff.inSeconds <= 0 ||
        diff.inSeconds > 0 && diff.inMinutes == 0 ||
        diff.inMinutes > 0 && diff.inHours == 0 ||
        diff.inHours > 0 && diff.inDays == 0) {
      time = format.format(date);
    } else if (diff.inDays > 0 && diff.inDays < 7) {
      if (diff.inDays == 1) {
        time = diff.inDays.toString() + ' Dünen';
      } else {
        time = diff.inDays.toString() + ' Gün Önce';
      }
    } else {
      if (diff.inDays == 7) {
        time = (diff.inDays / 7).floor().toString() + ' Hefte Önce';
      } else {
        time = (diff.inDays / 7).floor().toString() + ' Hefte Önce';
      }
    }

    return time;
  }
プラハック

これを試して

String readTimestamp(Timestamp timestamp) {
    var now = DateTime.now();
    var format = DateFormat('HH:mm a');
    var date = DateTime.fromMillisecondsSinceEpoch(timestamp.millisecondsSinceEpoch);
    var diff = now.difference(date);
    var time = '';

    if (diff.inSeconds <= 0 ||
        diff.inSeconds > 0 && diff.inMinutes == 0 ||
        diff.inMinutes > 0 && diff.inHours == 0 ||
        diff.inHours > 0 && diff.inDays == 0) {
      time = format.format(date);
    } else if (diff.inDays > 0 && diff.inDays < 7) {
      if (diff.inDays == 1) {
        time = diff.inDays.toString() + ' Dünen';
      } else {
        time = diff.inDays.toString() + ' Gün Önce';
      }
    } else {
      if (diff.inDays == 7) {
        time = (diff.inDays / 7).floor().toString() + ' Hefte Önce';
      } else {
        time = (diff.inDays / 7).floor().toString() + ' Hefte Önce';
      }
    }

    return time;
  }

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

タイプ「FirebaseFirestore」はタイプ「Firestore」のサブタイプではありません

分類Dev

Flutter / Firebase-タイプ 'Future <int>'はタイプ 'int'のサブタイプではありません

分類Dev

Flutter:jsonをホスティングから解析する場合、タイプ 'String'はタイプ 'int'のサブタイプではありません

分類Dev

タイプ 'List <dynamic>'は 'val'flutterのタイプ' List <Widget> 'のサブタイプではありません

分類Dev

Flutter / Firebaseタイプ「String」はタイプ「List <dynamic>」のサブタイプではありません

分類Dev

Flutter-SQFlite-タイプ 'String'はタイプ 'double'のサブタイプではありません

分類Dev

Flutter&Firebase:タイプ「Query」はタイプ「CollectionReference」のサブタイプではありません

分類Dev

Flutter-タイプ 'List <dynamic>'はタイプ 'List <File>'のサブタイプではありません

分類Dev

Flutter _TypeError(タイプ 'List <dynamic>'はタイプ 'Map <String、dynamic>'のサブタイプではありません)

分類Dev

タイプ '(PlatformException)=> void'はタイプ '(Object)=> FutureOr <dynamic> Flutterのサブタイプではありません

分類Dev

Flutter_TypeErrorタイプ 'List <dynamic>'はタイプ 'Map <String、dynamic>のサブタイプではありません

分類Dev

Flutter'List <Data> 'は型キャストのタイプ' String 'のサブタイプではありません

分類Dev

Flutter-未処理の例外:タイプ 'String'はタイプ 'int'のサブタイプではありません 'index'

分類Dev

Flutter: 'NoSuchMethodError'はString型のサブタイプではありません

分類Dev

Flutter: 'Future <dynamic>'はbool型のサブタイプではありません

分類Dev

Flutter-SQflite'_InternalLinkedHashMap <dynamic、dynamic> 'はタイプ' Map <String、dynamic> 'のサブタイプではありません

分類Dev

Flutter'Future <void> 'はタイプ' Widget 'のサブタイプではありません

分類Dev

Flutter:解決できません-タイプ 'List <dynamic>'はタイプ 'List <Files>'のサブタイプではありません

分類Dev

例外タイプ「List <dynamic>」は、Flutterアプリでキャストされたタイプの「List <int>」タイプのサブタイプではありません

分類Dev

Dartエラーの場合:タイプ 'List <dynamic>'は、Flutter withFirestoreのタイプ 'Map <String、dynamic>'のサブタイプではありません

分類Dev

Dartエラーの場合:タイプ 'List <dynamic>'は、Flutter withFirestoreのタイプ 'Map <String、dynamic>'のサブタイプではありません

分類Dev

Flutter '未処理の例外:タイプ' List <dynamic> 'はタイプ' List <class> 'のサブタイプではありません

分類Dev

'タイプ' _Type 'を修正する方法はFlutterのタイプ' FutureOr <Verse> ''のサブタイプではありません

分類Dev

Flutter:未処理の例外:タイプ 'List <dynamic>'はタイプ 'List <String>'のサブタイプではありません

分類Dev

Flutter:FutureBuilderタイプ「FormatException」はタイプ「ウィジェット」のサブタイプではありません

分類Dev

タイプ 'List <Series <dynamic、dynamic >>'でランタイムエラーを受信することは、タイプ 'List <Series <dynamic、num >>'のサブタイプではありませんcharts_flutter

分類Dev

Flutter MethodChannelのネストされた値: 'List <dynamic>'はタイプ 'FutureOr <List <Map <String、double >>>'のサブタイプではありません

分類Dev

FirebaseFirestoreはタイムスタンプと現在の時間差を取得します

分類Dev

Flutter- [barcode_scan] ScanResultはString型のサブタイプではありません

Related 関連記事

  1. 1

    タイプ「FirebaseFirestore」はタイプ「Firestore」のサブタイプではありません

  2. 2

    Flutter / Firebase-タイプ 'Future <int>'はタイプ 'int'のサブタイプではありません

  3. 3

    Flutter:jsonをホスティングから解析する場合、タイプ 'String'はタイプ 'int'のサブタイプではありません

  4. 4

    タイプ 'List <dynamic>'は 'val'flutterのタイプ' List <Widget> 'のサブタイプではありません

  5. 5

    Flutter / Firebaseタイプ「String」はタイプ「List <dynamic>」のサブタイプではありません

  6. 6

    Flutter-SQFlite-タイプ 'String'はタイプ 'double'のサブタイプではありません

  7. 7

    Flutter&Firebase:タイプ「Query」はタイプ「CollectionReference」のサブタイプではありません

  8. 8

    Flutter-タイプ 'List <dynamic>'はタイプ 'List <File>'のサブタイプではありません

  9. 9

    Flutter _TypeError(タイプ 'List <dynamic>'はタイプ 'Map <String、dynamic>'のサブタイプではありません)

  10. 10

    タイプ '(PlatformException)=> void'はタイプ '(Object)=> FutureOr <dynamic> Flutterのサブタイプではありません

  11. 11

    Flutter_TypeErrorタイプ 'List <dynamic>'はタイプ 'Map <String、dynamic>のサブタイプではありません

  12. 12

    Flutter'List <Data> 'は型キャストのタイプ' String 'のサブタイプではありません

  13. 13

    Flutter-未処理の例外:タイプ 'String'はタイプ 'int'のサブタイプではありません 'index'

  14. 14

    Flutter: 'NoSuchMethodError'はString型のサブタイプではありません

  15. 15

    Flutter: 'Future <dynamic>'はbool型のサブタイプではありません

  16. 16

    Flutter-SQflite'_InternalLinkedHashMap <dynamic、dynamic> 'はタイプ' Map <String、dynamic> 'のサブタイプではありません

  17. 17

    Flutter'Future <void> 'はタイプ' Widget 'のサブタイプではありません

  18. 18

    Flutter:解決できません-タイプ 'List <dynamic>'はタイプ 'List <Files>'のサブタイプではありません

  19. 19

    例外タイプ「List <dynamic>」は、Flutterアプリでキャストされたタイプの「List <int>」タイプのサブタイプではありません

  20. 20

    Dartエラーの場合:タイプ 'List <dynamic>'は、Flutter withFirestoreのタイプ 'Map <String、dynamic>'のサブタイプではありません

  21. 21

    Dartエラーの場合:タイプ 'List <dynamic>'は、Flutter withFirestoreのタイプ 'Map <String、dynamic>'のサブタイプではありません

  22. 22

    Flutter '未処理の例外:タイプ' List <dynamic> 'はタイプ' List <class> 'のサブタイプではありません

  23. 23

    'タイプ' _Type 'を修正する方法はFlutterのタイプ' FutureOr <Verse> ''のサブタイプではありません

  24. 24

    Flutter:未処理の例外:タイプ 'List <dynamic>'はタイプ 'List <String>'のサブタイプではありません

  25. 25

    Flutter:FutureBuilderタイプ「FormatException」はタイプ「ウィジェット」のサブタイプではありません

  26. 26

    タイプ 'List <Series <dynamic、dynamic >>'でランタイムエラーを受信することは、タイプ 'List <Series <dynamic、num >>'のサブタイプではありませんcharts_flutter

  27. 27

    Flutter MethodChannelのネストされた値: 'List <dynamic>'はタイプ 'FutureOr <List <Map <String、double >>>'のサブタイプではありません

  28. 28

    FirebaseFirestoreはタイムスタンプと現在の時間差を取得します

  29. 29

    Flutter- [barcode_scan] ScanResultはString型のサブタイプではありません

ホットタグ

アーカイブ