在 Android Studio 中使用 Flutter 进行调试时如何“设置值...”
Posted
技术标签:
【中文标题】在 Android Studio 中使用 Flutter 进行调试时如何“设置值...”【英文标题】:How to "Set Value..." when debugging with Flutter in Android Studio 【发布时间】:2019-01-31 16:06:42 【问题描述】:问题
以下图片和代码是使用“New Flutter Project”创建Flutter App时的默认设置。
import 'package:flutter/material.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget
@override
Widget build(BuildContext context)
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new MyHomePage(title: 'Flutter Demo Home Page'),
);
class MyHomePage extends StatefulWidget
MyHomePage(Key key, this.title) : super(key: key);
final String title;
@override
_MyHomePageState createState() => new _MyHomePageState();
class _MyHomePageState extends State<MyHomePage>
int _counter = 0;
void _incrementCounter()
setState(()
_counter++; // <- I set a breakpoint
);
@override
Widget build(BuildContext context)
return new Scaffold(
appBar: new AppBar(
title: new Text(widget.title),
),
body: new Center(
child: new Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
new Text(
'You have pushed the button this many times:',
),
new Text(
'$_counter',
style: Theme.of(context).textTheme.display1,
),
],
),
),
floatingActionButton: new FloatingActionButton(
onPressed: _incrementCounter,
tooltip: 'Increment',
child: new Icon(Icons.add),
), // This trailing comma makes auto-formatting nicer for build methods.
);
我试图通过在代码中放置一个断点来“设置值...”,当使用此代码进行调试时,_counter 会递增,但即使我将光标悬停也无法按下。
① 《调试'main.dart'(^D)》 ② 断点 ③ “设定值……”
问题
。开发环境
android Studio 3.1.4 颤振 0.5.1 飞镖 2 为 x86 构建的 Android SDK最好的问候,
【问题讨论】:
你解决了吗? 我无法解决这个问题。 【参考方案1】:当执行在断点处停止时,setState
不起作用。
setState
不会直接导致重新渲染,它只是将小部件标记为需要重新渲染。
下次同步信号来自显示器时,Flutter 会重建视图的陈旧部分。
【讨论】:
这种情况下应该在哪里下断点,哪个变量可以是“Set Value ...”? 你可以调用setValue
,你更新什么变量并不重要,但是你需要继续执行才能看到setValue
的效果
我无法按下“设置值...”按钮。
@GünterZöchbauer 有什么方法可以在调试器中编写array [0]
、array[1]
或任何运行时分配?
这不是对“如何...?”的回答。我们仍然无法在运行时更改变量。问题中描述的情况是具体的。我想在渲染前更改bloc
或repository
中的var,甚至是小部件中的var,但我不能。以上是关于在 Android Studio 中使用 Flutter 进行调试时如何“设置值...”的主要内容,如果未能解决你的问题,请参考以下文章
如何在模块(Android Studio)中使用 com.android.databinding?
怎样在Android Studio中使用Uiautomator