我尝试使用以下代码以编程方式向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
是LinearLayout
,标识为parent_layout
(您将在下面的代码中看到此内容)。我正在使用标签"我的应用程序"因为我使用自定义过滤器记录内容。
但视图未添加。我查看了日志消息,看到了一些非常奇怪的东西:
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
应该是"您还没有保存任何密码" R.dimen.prompt_size
应该是9pt。
Quuestions:
为什么第一条日志消息没有显示正确的文字而是[ 10-17 09:33:26.764 11877:11877 D/My App ]
?为什么第二条消息没有标签"我的应用程序"?
答案 0 :(得分:0)
您需要致电invalidate()
以重新制作视图。另外,建议您通过xml文件而不是代码执行此操作。