我对颤振没有多少经验。
我想使用language_tool库进行Dart和颤振。(https://pub.dev/packages/language_tool)
我创建了下面的脚本,并希望在屏幕上显示一个具有所有.issueTypes的.issueTypes。
但是我不知道如何从WritingMistake包导入language_tool类。
你知道我怎么解决吗?
void main() => runApp(mainApp());
class mainApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Chat(),
);
}
}
class Chat extends StatefulWidget {
const Chat({Key? key}) : super(key: key);
@override
_ChatState createState() => _ChatState();
}
class _ChatState extends State<Chat> {
String text = 'Helllo I am Gabriele';
Future<List<WritingMistake>> tool(String text) async {
var tool = LanguageTool();
var result = tool.check(text);
var correction = await result;
print(correction);
List<WritingMistake> mistakes = [];
for (var m in correction) {
WritingMistake mistake = WritingMistake(m['offset'], m['length'],
m['issueType'], m['issueDescription'], m['replacements']);
mistakes.add(mistake);
}
print(mistakes.length);
return mistakes;
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: SafeArea(
child: FutureBuilder(
future: tool(text),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.data == null) {
return Container(
child: Center(
child: Text('Loading...'),
),
);
} else {
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text(snapshot.data[index].issueType),
);
},
);
}
},
),
),
);
}
}希望有人能帮我。谢谢。
发布于 2022-03-30 21:45:06
我下载了包,复制了您的代码,只有一个错误,在行中:
WritingMistake mistake = WritingMistake(m['offset'], m['length'],
m['issueType'], m['issueDescription'], m['replacements']);我用这个代码解决了这个问题:
WritingMistake mistake = WritingMistake(message: m.message, offset: m.offset, length: m.length,
issueType: m.issueType, issueDescription: m.issueDescription, replacements: m.replacements);程序输出:

如果我将短语:"Helllo I am Gabriele"改为"Hello I am Gabriele",则输出将为“未分类”。
希望这能帮上忙!
https://stackoverflow.com/questions/71683996
复制相似问题