'Don't show backbutton if index > 0

I have a scaffold and on the leading of AppBar a custom back button. I have a int refIndex that initially is 0, but changes to the same value as the index of Pageview.builder changes

I want the backbuttnn to disappear if the refIndex > 0. I have no idea why its not working.

Widget leadingWiget() {
if (refIndex == 0) {
  return IconButton(
    splashColor: Colors.transparent,
    highlightColor: Colors.transparent,
    icon: const Icon(
      Icons.chevron_left,
      color: Colors.black,
      size: 40,
    ),
    onPressed: () {
      // Navigator.of(context).pop();
      print(refIndex);
    },
  );
}
return const SizedBox(height: 0, width: 0);
}

EDIT: I have the var declared right after the class class _QuestionsPageState extends State<QuestionsPage> {

in Pageview.builder, after itemBuilder: (ctx, index) { I have refIndex = index;

Is it wrong? I'm facing the same problem if I want to display the refIndex. The value itself changes when I change pages, but the displayed is the same as the initial, 0.



Solution 1:[1]

You can use the Visibilty Widget.

For example:

Visibilty(
  visible: refIndex == 0,
  child: IconButton(...),
)

Sources

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

Source: Stack Overflow

Solution Source
Solution 1 ouflak