-3

我有一个 LinearLayout 布局资源文件 (xml),其中嵌入了多个不同方向的 LinearLayout。在这些嵌入式 LinearLayouts 之一中,我有一些 TextViews 我想从我的 java 代码中动态更改,但由于某种原因,当我尝试设置这些 TextViews 的 ID 时,它会引发错误。你知道这是什么原因吗?此外,是否有任何修复或替代方法可以在嵌入式 LinearLayout 中访问这些 TextView?提前致谢。

编辑:没关系,我觉得自己像个白痴。我忘记了“@+id/”如果我为某些人浪费了时间,我很抱歉。我想我在过去的四天里编码太多了。我每天都起床到2:00

4

1 回答 1

1

您应该能够为TextViewxml 布局文件中的每个分配一个 id。如果您没有显式声明适当的 id 资源(通常情况下),那么您需要使用特殊语法:

<TextView android:id="@+id/view_id . . . />

如果不存在,@+语法将自动创建指定名称的 id。(请参阅文档android:id。)

如果您使用以下语法:

<TextView android:id="@id/view_id . . . />

那么您需要明确创建一个 id 资源(在 res/values/any_file.xml 中):

<item type="id" name="view_id" />

请参阅有关 ID 资源的文档

无论您使用哪种方法,您都可以使用以下方法访问TextViewin 代码:

TextView tv = (TextView) findViewById(R.id.view_id);

PS 看到你的代码后,问题就很清楚了:正如错误信息所说,你不能使用字符串作为视图 id。因此,例如,您需要在整个布局文件中替换android:id="limVal"为和类似。android:id="@+id/limVal"然后在你的代码中你可以使用

TextView limValView = (TextView) findViewById(R.id.limVal);
于 2013-07-31T21:18:40.573 回答