'How to fix this error "Too many positional arguments: 0 expected, but 1 found." in flutter

When I made program about a news app, I got an error.

This my HomePage code

import 'dart:io';

import 'package:bubble_tab_indicator/bubble_tab_indicator.dart';
import 'package:carousel_slider/carousel_options.dart';
import 'package:carousel_slider/carousel_slider.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:last_news/article.dart';
import 'package:last_news/network/api_request.dart';
import 'package:last_news/news.dart';
import 'package:last_news/state.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:riverpod/riverpod.dart';


class Home extends StatefulWidget {
  Home({Key? key, required this.title}) : super(key: key);

  final String title;

  @override
  State<Home> createState() => _HomeState();
}

class _HomeState extends State<Home> with SingleTickerProviderStateMixin{
  final List<Tab> tabs = <Tab>[
    new Tab(text: 'General'),
    new Tab(text: 'Technology'),
    new Tab(text: 'Sport'),
    new Tab(text: 'Business'),
    new Tab(text: 'Entertainment'),
    new Tab(text: 'Health'),
  ];

  late TabController _tabController;

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    _tabController = new TabController(length: tabs.length, vsync: this);
  }

  @override
  void dispose() {
    _tabController.dispose();
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('News App'),
        bottom: TabBar(
          isScrollable: true,
          unselectedLabelColor: Colors.grey,
          labelColor: Colors.white,
          indicatorSize: TabBarIndicatorSize.tab,
          indicator: BubbleTabIndicator(
            indicatorHeight: 25.0,
            indicatorColor: Colors.blueAccent,
            tabBarIndicatorSize: TabBarIndicatorSize.tab,
          ),
          tabs: tabs,
          controller: _tabController,
        ),
      ),
      body: TabBarView(
        controller: _tabController,
        children: tabs.map((Tab){
          return FutureBuilder(
            future: fetchNewsByCategory(Tab.text!),
            builder: (context, snapshot) {
              if(snapshot.hasError)
              return Center(child: Text('${snapshot.error}'),);
              else if(snapshot.hasData)
              {
                var newsList = snapshot.data as News;
                var sliderList = newsList.articles != null ?
                newsList.articles!.length > 10 ?
                newsList.articles!.getRange(0, 10).toList()
                : newsList.articles!.take(newsList.articles!.length).toList()
                : [];
                var contentList = newsList.articles !=null ?
                newsList.articles!.length > 10 ?
                newsList.articles!.getRange(11, newsList.articles!.length - 1).toList()
                : [] : [];
                return SafeArea(child: Column(
                  children: [
                    CarouselSlider(
                      options: CarouselOptions(
                        aspectRatio: 16/9,
                        enlargeCenterPage: true,
                        viewportFraction: 0.8,
                      ),
                      items: sliderList.map((item){
                        return Builder(builder: (context){
                          return GestureDetector(
                            onTap: () {
                              context.read(urlState).state = item.url;
                              Navigator.pushNamed(context, '/detail');
                            }, child: Stack(children: [
                              ClipRRect(
                                borderRadius: BorderRadius.circular(8),
                                child: Image.network(
                                  '${item.urlToImage}',
                                  fit: BoxFit.cover,),
                              ),
                              Column(
                                mainAxisAlignment: MainAxisAlignment.center,
                                children: [
                                  Container(
                                    color: Color(0xAA333639),
                                    child: Padding(
                                      padding: const EdgeInsets.all(8), child: 
                                      Text('${item.title}',
                                      overflow: TextOverflow.ellipsis,
                                      style: TextStyle(
                                        color: Colors.white,
                                        fontSize: 16,
                                        fontWeight: FontWeight.bold
                                      ),
                                      ),
                                    ),
                                  ),
                                ],
                              )
                            ]),
                          );
                        });
                      }).toList(),
                    ),
                    Divider(thickness: 3),
                    Padding(padding: const EdgeInsets.only(left: 8),
                    child: Text('Trending',
                    style: TextStyle(fontSize: 26,fontWeight: FontWeight.bold),
                      ),
                    ),
                    Divider(thickness: 3),
                    Expanded(child: ListView.builder(
                      itemCount: contentList.length,
                      itemBuilder:(context, index) {
                      return GestureDetector(onTap: (){
                        context.read(urlState).state = contentList[index].url;
                        Navigator.pushNamed(context, '/detail');
                      }, child: 
                      ListTile(
                        leading: ClipRRect(
                          borderRadius: BorderRadius.circular(8),
                          child: Image.network('${contentList[index].urlToImage}',
                          fit: BoxFit.cover,
                          height: 80,
                          width: 80,
                          ),
                        ),
                        title: Text('${contentList[index].title}',
                        style: TextStyle(fontWeight: FontWeight.bold)),
                        subtitle: Text('${contentList[index].publishedAt}',
                        style: TextStyle(fontStyle: FontStyle.italic)),
                      ),);
                    }))
                  ],
                ));
              }
              else return Center(child: CircularProgressIndicator(),);
          });
        }).toList(),
      ),
    );
  }
}

And this my NewsDetail code (This code is linked to the HomePage code)

import 'dart:async';
import 'dart:io';

import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:last_news/state.dart';
import 'package:webview_flutter/webview_flutter.dart';


class NewsDetail extends StatefulWidget {

  @override
  State<NewsDetail> createState() => _NewsDetailState();
}

class _NewsDetailState extends State<NewsDetail> {
  double progress = 0;
  final Completer<WebViewController> _controller = Completer<WebViewController>();

  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    if(Platform.isAndroid) WebView.platform = SurfaceAndroidWebView();
  }

  @override
  void dispose() {
    // TODO: implement dispose
    super.dispose();
  }
  @override
  Widget build(BuildContext context,) {
    SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle(statusBarColor: Color(0xFFA51234)));
    return MaterialApp(
      home: Scaffold(
        body: SafeArea(child: Container(child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            Row(children: [
              IconButton(
                onPressed: () => Navigator.of(context).pop(), 
                icon: Icon(Icons.arrow_back, color:Colors.black),
                alignment: Alignment.topLeft,)
            ],),
            Container(
              padding: EdgeInsets.all(10.0),
              child: progress < 1.0 ? LinearProgressIndicator(value: progress) : Container(),
            ),
            Expanded(child: WebView(
                initialUrl: context.read(urlState).state,
                javascriptMode: JavascriptMode.unrestricted,
                onWebViewCreated: (controller) {
                  _controller.complete(controller);
                },
              ),)
          ],),)),),
    );
  }
}

I got an error on (HomePage)

return Builder(builder: (context){
return GestureDetector(
onTap: () {
context.read(```
Too many positional arguments: 0 expected, but 1 found.
Try removing the extra arguments.).state = item.url;
Navigator.pushNamed(context, '/detail');
},

And

Expanded(child: ListView.builder(
itemCount: contentList.length,
itemBuilder:(context, index) {
 return GestureDetector(onTap: (){
  context.read(**urlState**).state = contentList[index].url;
  Navigator.pushNamed(context, '/detail');
},

(NewsDetail)

Expanded(child: WebView(
initialUrl: context.read(**urlState**).state,
javascriptMode: JavascriptMode.unrestricted,
onWebViewCreated: (controller) {
\_controller.complete(controller);
},
),
)

This Error I got

Too many positional arguments: 0 expected, but 1 found.
Try removing the extra arguments.

This code urlState

import 'package:flutter_riverpod/flutter_riverpod.dart';

final urlState = StateProvider(((ref) =\> ''));

Please Help Me To Fix This Error

I tried adding import 'package:flutter_bloc/flutter_bloc.dart'; because the "context.read" have a red underline. And then, the "urlState" have a red underline.



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source