Flutter 配置单元注册表适配器不接受id
我上了一节课Flutter 配置单元注册表适配器不接受id,flutter,dart,flutter-hive,Flutter,Dart,Flutter Hive,我上了一节课 import 'package:hive/hive.dart'; part 'CLASStrips.g.dart'; @HiveType() class Trips{ @HiveField(0) String tripName; @HiveField(1) var date; } 并创建了它的适配器 // GENERATED CODE - DO NOT MODIFY BY HAND part of 'CLASStrips.dart'; // *******
import 'package:hive/hive.dart';
part 'CLASStrips.g.dart';
@HiveType()
class Trips{
@HiveField(0)
String tripName;
@HiveField(1)
var date;
}
并创建了它的适配器
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'CLASStrips.dart';
// **************************************************************************
// TypeAdapterGenerator
// **************************************************************************
class TripsAdapter extends TypeAdapter<Trips> {
@override
Trips read(BinaryReader reader) {
var numOfFields = reader.readByte();
var fields = <int, dynamic>{
for (var i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
};
return Trips()
..tripName = fields[0] as String
..date = fields[1] as dynamic;
}
@override
void write(BinaryWriter writer, Trips obj) {
writer
..writeByte(2)
..writeByte(0)
..write(obj.tripName)
..writeByte(1)
..write(obj.date);
}
}
但是registerAdapter函数正在传递消息
位置参数太多:应为1个,但找到2个。尝试删除额外的参数 我该怎么修
import 'package:hive/hive.dart';
part 'CLASStrips.g.dart';
@HiveType()
class Trips{
@HiveField(0)
String tripName;
@HiveField(1)
var date;
配置单元类型id应添加到@HiveType()
像这样
@HiveType(TypeId: 33)
您不再需要在注册适配器时添加它
@HiveType(TypeId: 33)