为什么Log.i不起作用?

时间:2017-07-22 19:11:36

标签: java android

这是我的代码。我想确保randomNumber保持不变,直到用户选择正确的号码,所以我试图通过Log.i显示该号码。但是,只要单击我的按钮,Android监视器就不会打印任何内容。

int randomNumber = (int) (Math.random() * 50) + 1;

public void checkNumber(View view) {
    Log.i("Number", Integer.toString(randomNumber));
    EditText numberEntered = (EditText) findViewById(R.id.numberEntered);
    int numberEnteredInt = Integer.parseInt(numberEntered.getText().toString());
    if(!(numberEnteredInt <= 50 && numberEnteredInt >= 1)) {
        //some code
    } else if(numberEnteredInt < randomNumber) {
        //some code
    } else if(numberEnteredInt > randomNumber) {
        //some code
    } else {
        //some code
        randomNumber = (int) (Math.random() * 50) + 1;
    }
}

只需多次运行此应用程序,似乎我的其余代码工作正常(所以我实际上并不需要Log在这种情况下工作),但我很好奇为什么没有显示任何内容到监视器。感谢。

更新: 好的,现在它工作得很好;我不知道之前发生了什么。我注意到你们中的一些人建议使用“”+ randomNumber而不是Integer.toString(randomNumber)。前者更有效率吗?再次感谢。

2 个答案:

答案 0 :(得分:0)

您确定在onClickListener中调用了checkNumber()吗?如果是这样,请尝试将\ n添加到日志消息。

    Log.i("Number", "\n" + randomNumber);

答案 1 :(得分:0)

我根本不相信你甚至需要使用Integer.toString()。你可以用以下代码替换整行:

Log.i("NUMBER", "" + randomNumber);

如果您将checkNumber()方法作为按钮的onClick调用,则应该绝对打印到控制台。确保您的控制台设置为DEBUG模式,并且打印输出上方的行不会读取&#34;没有可调试的应用程序&#34;,而是说出您应用的名称。