我想在打开页面后立即从列表中随机显示一个数字,而无需单击该数字来进行更改。尝试过在线检查,但没有运气找到任何可行的解决方案。
更新1:不一定必须是数字。另外,下面是我到目前为止的代码。仅当我单击文本时才会更改。每次我在应用程序中打开页面时,我仍然无法动态显示不同的“ randomQuote”
更新2:弄清楚了:)
static List randomQuote = ['a', 'b', 'c', 'd','f'];
Random random = new Random();
var shuffleList = randomQuote.toList()..shuffle();
int index = 0;
void changeIndex() {
setState(() => index = Random().nextInt(shuffleList.length));
}
@override
Widget build(BuildContext context) {
return Center(
child: Column(
children: <Widget>[
Padding(
padding:
const EdgeInsets.only(bottom: 5, top: 5, left: 20, right: 20),
child: Text(
shuffleList[index].toString(),
style: TextStyle(
color: Colors.black87,
fontFamily: 'Roboto-boldItalics',
fontSize: 17,
fontWeight: FontWeight.bold,
),
),
),
],
),
);
}
}
答案 0 :(得分:1)
您可以在初始化状态下定义随机函数
即
void initState(){ int randomNumber=Random().nextInt(yourList.length) }
然后,您可以随意使用randomNumber。
答案 1 :(得分:0)
通过initState
函数执行此操作:
var myList= [1,2,3,4,5];
myList.shuffle();
// Display `myList.first`
答案 2 :(得分:-1)
您可以尝试 shuffle(),它在 Flutter 中随 Lists 一起提供。 示例:
listObjects.shuffle();