Skip to content

Scroll disabled when itemCount not defined #1

@NeroThroN

Description

@NeroThroN

When using the package, scrolling is disabled if a ListView.builder does not specify the itemCount parameter. For example, with the following code:

NativeScrollBuilder(
  builder: (_, ctrl) => ListView.builder(
    controller: ctrl,
    itemBuilder: (_, index) => ListTile(title: Text("Item: $index")),
  ),
)

the list cannot be scrolled.
However, once an explicit itemCount is provided:

NativeScrollBuilder(
  builder: (_, ctrl) => ListView.builder(
    controller: ctrl,
    itemCount: 100,
    itemBuilder: (_, index) => ListTile(title: Text("Item: $index")),
  ),
)

the scrolling works as expected.

Suggestion:
Consider disabling or adjusting the package's scroll-related features when itemCount is not set, to avoid breaking infinite lists or unbounded builders.

Full code
import 'package:flutter/material.dart';
import 'package:native_web_scroll/native_web_scroll.dart';

void main() => runApp(const MainApp());

class MainApp extends StatelessWidget {
  const MainApp({super.key});

  @override
  Widget build(BuildContext context) => MaterialApp(home: Screen());
}

class Screen extends StatelessWidget {
  const Screen({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text("Web Native Scroll")),
      body: NativeScrollBuilder(
        builder: (_, ctrl) => ListView.builder(
          controller: ctrl,
          // itemCount: 100,
          itemBuilder: (_, index) => ListTile(title: Text("Item: $index")),
        ),
      ),
    );
  }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions