如何解决错误:没有为“RSSParser”类型定义 getter“title”
我想实现一个关于如何使用 Flutter 解析 RSS Feed 的简单教程,这是我的代码:
import 'package:Flutter/material.dart';
import 'package:webFeed/webFeed.dart';
import 'package:http/http.dart' as http;
import 'package:url_launcher/url_launcher.dart';
import 'package:cached_network_image/cached_network_image.dart';
class RSSParser extends StatefulWidget {
@override
_RSSParserState createState() => _RSSParserState();
}
class _RSSParserState extends State<RSSParser> {
final String url = "https://www.90min.com/posts.RSS";
RSSFeed _Feed;
String _title;
static const String loadingFeedMsg = 'Loading Feed...';
static const String FeedLoadErrorMsg = 'Error Loading Feed.';
static const String FeedOpenErrorMsg = 'Error opening Feed.';
Future<RSSFeed> loadFeed() async{
try{
final client = http.Client();
final response = await client.get(url);
return RSSFeed.parse(response.body);
}
catch(e){
}
return null;
}
updateTitle(title){
setState(() {
_title = title;
});
}
@override
void initState() {
// Todo: implement initState
super.initState();
updateTitle(widget.title);
}
updateFeed(Feed){
setState(() {
_Feed = Feed;
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(_title),),);
}
}
问题是我在该指令中遇到了编译错误
updateTitle(widget.title);
带有以下错误消息:
getter 'title' 没有为类型 'RSSParser' 定义
在教程中,它工作正常!!
你知道如何解决这个问题吗? 谢谢
解决方法
这不起作用,因为 RSS 类中没有标题。
我认为您对 widget.something
的使用不是很清楚。这意味着在扩展 StatefulWidget
的类中有一个 something
参数,我需要在 stateObject 中获取该参数。
查看代码以了解。
class YellowBird extends StatefulWidget {
const YellowBird({ Key? key }) : super(key: key);
String someData = 'SomeData'; // Some data
@override
_YellowBirdState createState() => _YellowBirdState();
}
//This is the state object
class _YellowBirdState extends State<YellowBird> {
// Now that if you need some data from the above class. You use use this widget.someData to get it here
String getHere = widget.someData ;
@override
Widget build(BuildContext context) {
return Container(color: const Color(0xFFFFE306));
}
}
,
您尚未为您的 RSS 小部件声明 title
。它应该看起来像这样:
class RSSParser extends StatefulWidget {
final String title;
const RSSParser({required this.title});
这应该可以解决您的错误。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。