ошибка: тип ‘int’ не является подтипом типа ‘Map’ в flutter

#flutter #dart

#flutter #dart

Вопрос:

в чем проблема при просмотре данных из базы данных firebase ошибка: тип ‘int’ не является подтипом типа ‘Map<динамический, динамический>’ ……………………………………………………………….. введите здесь описание изображения ………………………………………………………………..

введите описание изображения здесь ………………………………………………………..

 class LeaderBoard extends StatefulWidget {
  @override
  _LeaderBoardState createState() => _LeaderBoardState();
}

class _LeaderBoardState extends State<LeaderBoard> {
  Query _ref;
  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    _ref = FirebaseDatabase.instance.reference().child('Score')
    .orderByChild('scoreVaule')
    .limitToFirst(200);
   
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: [
          Container(
            height: displayHeight(context) * 0.15,
          ),
          Container(
            height: displayWidth(context) * 0.25,
            width: displayWidth(context) * 0.25,
            child: Image.asset('assets/images/icon.png', fit: BoxFit.fill),
          ),
          SizedBox(
            height: 10,
          ),
          Container(
            color: Colors.blue,
            height: displayHeight(context) * 0.06,
            width: displayWidth(context),
            child: Center(
              child: Text(
                'الأوائل',
                style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold),
                textAlign: TextAlign.center,
              ),
            ),
          ),
          ///////////
          SizedBox(
            height: 5,
          ),
          Container(
            //color: Colors.red,
            width: displayWidth(context) * 0.60,
            height: 350,
            child: new FirebaseAnimatedList(
              query: _ref,
              itemBuilder: (
                BuildContext context,
                DataSnapshot snapshot,
                Animation<double> animation,
                int index,
              ) {
                String mountainKey = snapshot.key;
                Map map = snapshot.value;
                String _name = map['name'] as String;
                int _score = map['scoreVaule'] as int;
                //int _time = map['time'] as int;
                String _image1 = map['profileImageurl'] as String;
                if (_image1 == null) {
                  _image1 =
                      'https://firebasestorage.googleapis.com/v0/b/hroof-74034.appspot.com/o/users/icon.png?alt=mediaamp;token=b7e1b4f4-57a4-4aaa-9ebc-d0dfd3eb4719';
                }
                return new Column(
                  children: <Widget>[
                    new ListTile(
                      title: new Text('$_name'),
                      subtitle: new Text('$_score'),
                      /*leading: new Container(
                              width: 40.0,
                              height: 40.0,
                              decoration: BoxDecoration(
                                borderRadius: BorderRadius.only(
                                  topRight: Radius.circular(40.0),
                                  bottomRight: Radius.circular(40.0),
                                  bottomLeft: Radius.circular(40.0),
                                  topLeft: Radius.circular(40.0),
                                ),
                                //color: Colors.black,
                                image: DecorationImage(
                                  image: NetworkImage(_image1),
                                  fit: BoxFit.fill,
                                ),
                              ),
                            ),*/
                    ),
                    new Divider(
                      height: 2.0,
                    ),
                  ],
                );
              },
                sort: (a, b) {
               return b.value['scoreVaule']
                .toString()
                .compareTo(a.value['scoreVaule'].toString());
              },
            ),
          ),

          ///////////
        ],
      ),
    );
  }
}
 

снимок.vaule

 VERBOSE-2:ui_dart_state.cc(177)] Unhandled Exception: NoSuchMethodError: Class 'int' has no instance method '[]'.
Receiver: -27
Tried calling: []("scoreVaule")
#0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
#1      _LeaderBoardState.build.<anonymous closure>
package:khlea/leaderBoard.dart:111
#2      Sort._insertionSort (dart:_internal/sort.dart:69:36)
#3      Sort._doSort (dart:_internal/sort.dart:58:7)
#4      Sort.sort (dart:_internal/sort.dart:33:5)
#5      ListMixin.sort (dart:collection/list.dart:355:10)
#6      FirebaseSortedList._onChildAdded
package:firebase_database/ui/firebase_sorted_list.dart:89
#7      _rootRunUnary (dart:async/zone.dart:1198:47)
#8      _CustomZone.runUnary (dart:async/zone.dart:1100:19)
#9      _CustomZone.runUnaryGuarded (dart:async/zone.dart:1005:7)
#10     _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:357:11)
#11     _DelayedData.perform (dart:async/stream_impl.dart:611:14)
#12     _StreamImplEvents.handleNext (<…>
 

Комментарии:

1. Нужна дополнительная информация об ошибке.. Если возможно, создайте снимок экрана. обновите вопрос.

2. Можете ли вы просто распечатать snapshot.value в консоли и опубликовать его?

3. Какова структура ваших документов firebase?

4. Я делаю, чтобы добавить снимок экрана документов firebase

5. Попробуйте sort: (a, b) { print(b); print(a); } опубликовать результат в консоли для ответа на вопрос.