This is my code:
class ArticleView extends StatefulWidget {
final String blogUrl;
ArticleView({required this.blogUrl,super.key});
WebViewController controlla = WebViewController()
..setJavaScriptMode(JavaScriptMode.unrestricted)
..setBackgroundColor(const Color(0x00000000))
..setNavigationDelegate(
NavigationDelegate(
onProgress: (int progress) {
// Update loading bar.
},
onPageStarted: (String url) {},
onPageFinished: (String url) {},
onWebResourceError: (WebResourceError error) {},
onNavigationRequest: (NavigationRequest request) {
if (request.url.startsWith('https://www.youtube.com/')) {
return NavigationDecision.prevent;
}
return NavigationDecision.navigate;
},
),
)
..loadRequest(Uri.parse(blogUrl));
I am trying to get this string variable from the "home.dart" file... Right here :
class BlogTile extends StatelessWidget {
final String imageUrl, title, desc, url;
BlogTile(
{required this.imageUrl,
required this.title,
required this.desc,
required this.url});
@override
Widget build(BuildContext context) {
return GestureDetector(
onTap: () {
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ArticleView(
blogUrl: url,
)));
},
I have tried the above solution, but I am new to flutter, most resources I can find are outdated.
You are using a stateful widget so define the variable in top and in initState define the value of it
late WebViewController controlla;
void initState() {
controlla = WebViewController()
..setJavaScriptMode(JavaScriptMode.unrestricted)
..setBackgroundColor(const Color(0x00000000))
..setNavigationDelegate(
NavigationDelegate(
onProgress: (int progress) {
// Update loading bar.
},
onPageStarted: (String url) {},
onPageFinished: (String url) {},
onWebResourceError: (WebResourceError error) {},
onNavigationRequest: (NavigationRequest request) {
if (request.url.startsWith('https://www.youtube.com/')) {
return NavigationDecision.prevent;
}
return NavigationDecision.navigate;
},
),
)
..loadRequest(Uri.parse(blogUrl));
}