【发布时间】:2011-09-08 14:14:35
【问题描述】:
我有一个包含以下资源的 xml 文件
<LinearLayout android:id="@+id/t214" android:padding="3dip"></LinearLayout>
<LinearLayout android:id="@+id/t215" android:padding="3dip"></LinearLayout>
等等
我有以下代码:
String id = "t" + c.get(Calendar.DAY_OF_WEEK) + c.get(Calendar.HOUR_OF_DAY);
Log.v("calendar", "id string: " + id);
// Get handle of LinearLayout
LinearLayout ll = (LinearLayout) findViewById(CalendarViewActivity.this.getResources().getIdentifier(id, "id", getPackageName()));
根据日志,id 字符串变量的值为 't214',因此 getResources().getIdentifier() 应该返回 int 标识符,以便它可以在 findViewById 中使用,但 ll 被返回为 null。
非常感谢!
【问题讨论】:
-
你在创建函数中使用 setcontentview 吗?
-
是的,setContentView(R.layout.calendar_view_week);这就是包含我想要处理的视图的布局
-
LinearLayouts 嵌套的事实可能是个问题吗? (它们嵌套在 TableRow 中)
-
说我检查了 R.java 并且所有的 LinearLayouts 都在那里
-
我发现问题是由 id 中包含数字的 id 引起的。这是不允许的吗?