如何解释此日志消息?
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_layout
的 LinearLayout
(您将在下面的代码中看到这一点)。我正在使用标签 "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 文件而不是代码来执行此操作。
我试图使用以下代码以编程方式将文本视图添加到 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_layout
的 LinearLayout
(您将在下面的代码中看到这一点)。我正在使用标签 "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 文件而不是代码来执行此操作。