android - 变量的值不通过调试器显示

标签 android debugging

我想了解调试器是如何工作的,所以我创建了下面的示例,并在代码中下面提到的行放置了一个断点。当我运行调试器时,我希望只看到变量“a”的值 在屏幕上,但实际上什么也没有显示

为什么使用 TextView“this.mTV2”时变量“a”的值没有显示在屏幕上?

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    this.mTV1 = (TextView) findViewById(R.id.tv1);
    this.mTV2 = (TextView) findViewById(R.id.tv2);
    this.mTV3 = (TextView) findViewById(R.id.tv3);
}

@Override
protected void onResume() {
    super.onResume();

    int a, b, c;
    int x = 30;
    int y = 40;
    int z = 50;

    a = x + y;
    b = y + z;
    c = x + z;

    this.mTV1.setText("" + a);
    this.mTV2.setText("" + b);//BREAKING POINT HERE
    this.mTV3.setText("" + c);
}

最佳答案

我试着解释一下:

如果您查看下图,它显示了 android 生命周期。如您所见, Activity 在 onCreate 和 onPause 之后运行,这意味着即使您在这些方法中放置了一些断点,您也不会在屏幕上看到任何内容,因为布局尚未更新。

在调试器中,您可以看到变量的值,但看不到屏幕上的值。

enter image description here

没有关于调试屏幕文本的实用程序,因为调试器的实用程序是调试代码,而不是布局。

如果您仍想调试布局,唯一的方法是在一个 Action (例如单击按钮)上创建一个方法并调试该方法。

由于 UI 已经绘制完成,您将看到文本更新,但正如我之前所说,查看布局更新没有任何用处,重点是查看您停止所在行的变量的值.

希望对您有所帮助

关于android - 变量的值不通过调试器显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39617470/

相关文章:

python - Theano 网络的打印输出

asp.net - 如何打破 ASP.NET 中未处理的异常?

c++ - 在 VS6 中批量更改项目构建配置

android - 如何在整个应用程序中保持 XMPP 连接有效?

java - 使用 ACTION_IMAGE_CAPTURE 解决错误的好方法

java - 如何在 java 中使用 boolean 值对 ArrayLists 进行排序?

javascript - VSCode 调试 Node.js,调试适配器中存在 ES6 未处理错误

debugging - unrecognizedPacketType, Actor server1.conn1.tabDescriptor1 无法识别数据包类型 'attach'

java - 如何在 Android Studio 中自动替换为 lambda 表达式

Android:在广播接收器中使用 sharedPreferences