我试图在单击按钮后创建随机数。它可以在控制台中运行,但不能在 UI 上运行。需要帮助。我错过了一些东西
import 'dart:math';
import 'package:flutter/material.dart';
class RandomNum extends StatefulWidget {
const RandomNum({super.key});
@override
State<RandomNum> createState() => _RandomNumState();
}
Random random = Random();
int randomNumber = random.nextInt(10);
class _RandomNumState extends State<RandomNum> {
void randomNumberFunction() {
setState(() {
Random random = Random();
int randomNumber = random.nextInt(10);
print(randomNumber);
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(),
body: Column(
children: [
Text(randomNumber.toString()),
ElevatedButton(onPressed: randomNumberFunction, child: Text('Guess'))
],
),
);
}
}
您正在重新创建新变量,请删除
int
void randomNumberFunction() {
setState(() {
Random random = Random();
randomNumber = random.nextInt(10);
print(randomNumber);
});
}
您还可以使用 initState 设置初始数字而不是全局数字,并在其余时间使用相同的
random
实例在函数内生成数字。