Skip to content

Instantly share code, notes, and snippets.

@DK15
Created June 9, 2020 12:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DK15/c553190d8e9e6e679ec2f025a4627234 to your computer and use it in GitHub Desktop.
Save DK15/c553190d8e9e6e679ec2f025a4627234 to your computer and use it in GitHub Desktop.
TextField onTap behavior with different routes
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
home: MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: Container(
child: TextField(
decoration: InputDecoration(
suffixIcon: Container(
padding: EdgeInsets.symmetric(vertical: 10),
child: FloatingActionButton(
child: Icon(Icons.add),
onPressed: () {
Navigator.push(context,
MaterialPageRoute(builder: (context) => PageB()));
},
))),
onTap: () {
Navigator.push(
context, MaterialPageRoute(builder: (context) => PageC()));
},
))));
}
}
class PageB extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Page B'),
),
);
}
}
class PageC extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Page C'),
),
);
}
}
@DK15
Copy link
Author

DK15 commented Jun 9, 2020

I am able to replicate the said issue on stable version v1.17.2. Tapping on textfield area opens Page C and tapping on suffixIcon also opens Page C. Then tapping on appbar back button or device back button on Page C opens Page B. The issue persists.

@TahaTesser
Copy link

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment