Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

The method 'globalToLocal' isn't defined for the type 'RenderObject'

Tags:

flutter

How to fix this. Error message: The method 'globalToLocal' isn't defined for the type 'RenderObject'. Try correcting the name to the name of an existing method, or defining a method named 'globalToLocal'.

enter image description here

My Code

@override
  Widget build(BuildContext context) {            
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: GestureDetector(
          onPanUpdate: (details) {            
            setState(() {
              RenderObject? renderBox = context.findRenderObject();
              points.add(TouchPoints(
                  points: renderBox?.globalToLocal(details.globalPosition),//ERROR
like image 332
John Reaper Avatar asked Oct 26 '25 07:10

John Reaper


1 Answers

You have to cast the object like so:

@override
  Widget build(BuildContext context) {            
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: GestureDetector(
          onPanUpdate: (details) {            
            setState(() {

              //Here at the end and at the begining of the line
              RenderBox? renderBox = context.findRenderObject() as RenderBox; 

              points.add(TouchPoints(
                  points: renderBox?.globalToLocal(details.globalPosition),//ERROR
like image 98
FMorschel Avatar answered Oct 28 '25 20:10

FMorschel



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!