【问题标题】:issue in 'onCreate' method on androidandroid上的“onCreate”方法中的问题
【发布时间】:2015-10-17 19:22:55
【问题描述】:

首先,我道歉,我的问题可能看起来很愚蠢。 我是制作安卓软件的初学者。我正在寻求帮助,因为我不知道问题出在哪里。

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.d("debug", "I'm not going to appear on the LogCat ;_;");
        SomeStaticClass.something();
        setContentView(R.layout.activity_main);
    }

    //called from a button in activity_main.xml
    public void hello (View view) {
        Log.d("debug", "but for some reasons I will");
    }
}

如您所见,onCreate 函数中的第一个 Log.d 永远不会被调用。或者它永远不会出现在我现在没有的 LogCat 中。这是我的问题,因此,我不知道是否曾经调用过SomeStaticClass.something()!现在有人为什么或有一个想法吗?谢谢。

(编辑) 谢谢你的评论:-)。是的,断点是个好主意(我真的很惭愧我自己没有想到那个……)。所以是的,该函数被调用,然而,Log.d 仍然(5 次 4 次)没有显示任何内容,只在 onCreate(Bundle savedInstanceState) 中显示。 现在我知道它可以工作了,这不再是什么大问题了,我将其标记为已解决。然而,只是出于好奇,有谁知道为什么 log.d 不写任何东西?

【问题讨论】:

  • 您的 LogCat 设置的级别是多少?它可以设置为隐藏调试消息。尝试更改级别或使用Log.e() 处理错误。此外,您可以使用断点来查看代码中发生了什么。

标签: java android oncreate


【解决方案1】:

Logcat 默认设置为 Verbose 日志级别。这意味着您可以使用 Log.v 代替 Log.d,也可以在 Logcat 中切换到 Debug 日志级别。

【讨论】:

    【解决方案2】:

    好的,我有一个始终有效的答案。我只需要将 Log.d("what", "ever"); 替换为 System.out.println("whatever"); 。原因还不清楚,但已经不重要了。非常抱歉占用您的时间并打扰大家。谢谢大家的帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-11-01
      • 2018-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多