I want to incorporate looping variable into widget. So I have code like this but get an alert [Missing concrete implementation of 'State.build'.] Premise ... Data has been inserted in DB
class Classname extends StatefulWidget {
Classname({Key key}) : super(key: key);
@override
createState() => _ClassnameState();
}
class _ClassnameState extends State<Classname> {
String test;
String test2;
String test3;
@override
void initState() {
getData();
super.initState();
}
void getData() async {
String path = join(await getDatabasesPath(), 'dbname.db');
Database database = await openDatabase(path, version: 1,
onCreate: (Database db, int version) async {
await db.execute(
"CREATE TABLE tablename(id INTEGER PRIMARY KEY, test TEXT, test2 TEXT, test3 TEXT)");
});
List<Map> result = await database.rawQuery('SELECT * FROM tablename');
for (Map data in result) {
test = data['test'];
test2 = data['test2'];
test3 = data['test3'];
@override
Widget build(BuildContext context) {
return Scaffold(
body: SingleChildScrollView(
child: Container(
padding: EdgeInsets.all(30),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.start,
mainAxisSize: MainAxisSize.max,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Container(
child: Text(
test,
),
),
Padding(
padding: EdgeInsets.all(15),
),
Container(
child: Text(
test2
),
),
],
),
Container(
child: Text(
test3,
),
),
],
),
),
),
);
}
}
}
I tried other ways, for example, adding List variable = [] and use add method but it's not good because the list didn't become dynamic. Please tell me how to do.