如何解释此日志消息?

How to interpret this log message?

我试图使用以下代码以编程方式将文本视图添加到 LinearLayout

    Resources r = getResources ();
    TextView text = new TextView (this);
    text.setText (R.string.no_passwords);
    Log.d ("My App", r.getString (R.string.no_passwords));
    text.setTextSize (r.getDimension (R.dimen.prompt_size));
    Log.d ("My App", "Text size: " + r.getDimension (R.dimen.prompt_size));

    LinearLayout.LayoutParams params = new LinearLayout.LayoutParams (ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
    parent.setGravity (Gravity.CENTER);

    text.setLayoutParams (params);
    parent.addView (text);

解释:

parent 是 ID 为 parent_layoutLinearLayout(您将在下面的代码中看到这一点)。我正在使用标签 "My App" 进行记录,因为我正在使用自定义过滤器来记录内容。

但是视图没有添加。我查看了日志消息,看到了一些非常奇怪的东西:

10-17 09:33:26.764  11877-11877/com.passwordgen D/My App﹕ [ 10-17 09:33:26.764 11877:11877 D/My App   ]
    Text size: 43.132

R.string.no_password 应该是 "You have not saved any passwords yet" 而 R.dimen.prompt_size 应该是 9pt.

问题:

为什么第一条日志消息没有显示正确的文本而是 [ 10-17 09:33:26.764 11877:11877 D/My App ]?为什么第二条消息没有前缀标签 "My App"?

您需要调用 invalidate() 来重绘视图。此外,建议您通过 xml 文件而不是代码来执行此操作。