下面的代码片段:
class MainState extends State<Main>{
MusicMaterial musicObj = MusicMaterial();
SoundsMaterial soundObj = SoundsMaterial();
@override
Widget build(BuildContext context) {
return Container(
child: something.value == 0
? musicObj
: soundObj
);
}
}
class MusicMaterialState extends State<MusicMaterial>{
@override
Widget build(BuildContext context) {
return Row(
AnotherClass obj1 = AnotherClass(0, 'test'),
AnotherClass obj2 = AnotherClass(1, 'test'),
);
}
}
class AnotherClassState extends State<AnotherClass>{
import '../globals.dart' as globals;
@override
void initState() {
globals.globalCounter++; // this variable is just a global variable from the globals.dart page
}
}
library my_prj.globals;
globalCounter = 0;
我尝试使用“automatickeepaliveClientMixin和@override bool get wantKeepAlive=>true”-即保持它活动,以便下次调用它时,它不会再次调用initState(),但是它没有工作。
希望我能正确地理解你需要什么。似乎您希望每个类类型的计数器只增加一次。我肯定有不同的方法来完成它,但我想到了让globalcounter
稍微复杂一点
class GlobalCounter {
List<String> _keys = List<String>();
int _counter = 0;
int get counter => _counter;
void increaseCounter(String key) {
// increase only if the key passed as parameter didn't increase already
if (!_keys.contains(key)) {
_counter++;
_keys.add(key);
}
}
}
globalCounter = GlobalCounter();
那你可以这样用
@override
void initState() {
// pass the type of the instance trying to increase the counter
globals.globalCounter.increaseCounter(this.runtimeType.toString());
}
我有一个关于android camerax架构的问题。我使用的是预览视图,效果非常好。问题与片段之间的事务有关。片段1具有previewView。当我切换到fragment2并返回fragment1时,我会再次绑定previewview,使它首先出现黑屏,然后预览显示在屏幕上。我不想看到黑屏。这个问题有什么解决办法吗?
我现在正在尝试使用Flutter/Dart。但是当从另一个类访问时,我的静态变量不断被重新初始化。 我有一个类,在其单独的dart源文件中,保存服务器状态,声明为: 我初始化了它们 @ 由 .之后,当我尝试在应用程序的另一个页面上访问它们时,变量“”和“”都变为,就好像它们被重新初始化一样。(如果我像样声明它们,然后重新分配 在 处,它仍然会在应用程序的另一个页面上显示为 10。 我的应用程序在两
问题内容: 当我运行以下代码时,两个测试用例都变为现实: 预期的行为 test1-成功 test2-失败(按预期该计数将变为3) 实际行为 test1-成功 test2-成功 为什么junit 与每个测试方法都调用。它是junit中的错误或有意提供。 问题答案: 每种测试方法的新实例 对于每种测试方法,将创建Junit的行为的 新实例。 因此,在您的情况下,这两种方法的变量都将具有value ,因
我想在firebase中的post文档中引用类别文档。这是我的数据类,我还使用冻结和json_序列化程序: 当我运行build_runner时,出现以下错误: 所以尝试使用JsonConzer,但我不知道如何将json对象转换为Document参考...
我一直在使用VSCode进行颤振开发,但没有问题。今天,飞镖分析器突然抱怨说,大多数类都是未定义的,或者目标不存在。 有人见过这个吗? 我已经重新启动了VSCode,重新启动了计算机,卸载了flutter/dart插件,运行flutter dr没有任何问题……我没有想法了。 VSCode问题
如何让SongDetailsBottomsheetController释放并在每次打开BottomSheet时重新初始化 当按下按钮时,弹出BottomSheet,但关闭时不会打印"closing",当再次打开时,也不会重新调用OnInit()和OnReady(),每次传入的MediaItem都不同,但SongDetailsBottomsheetController中的MediaItem不变 调试