<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@+id/label"
android:textSize="20px" >
</TextView>
这是具有自定义布局的ListActivity的部分代码。所以它可以动态设置值。为什么android:text =&#34; @ + id / label&#34; ?还有其他用途吗?
答案 0 :(得分:0)
<TextView
android:id="@+id/label"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@+id/label" <-- wrong
android:text="@string/label" <-- get text from string.xml
android:text="Label" <-- direct text
android:textSize="20px" >
</TextView>
答案 1 :(得分:0)
同意ZeroOne的回答。添加到他说你关于动态改变textView的价值 在您的活动课程内
TextView tv = (TextView) findViewById(R.id.label);
您在布局中使用的ID,您在此处使用它来引用它。您正在使用R.id.label
,因为android有一个
自动生成
R.class
具有所有对象,字符串引用,资源,布局,颜色,样式和ID的唯一十六进制代码的文件(大多数是最终静态的)等等。所以你在说
R.id.label
(它是int类型的资源ID)
转到R类 - &gt; Id - &gt;变量名称
将值设置为textview
tv.setText("Hello World");
如果您在布局文件中使用
android:text="@+id/label"
它只是将text的值设置为textview为@+id/label
。除非您想要显示@+id/label
..
如果你的计划是将textview的值设置为布局文件本身的标签那么就像ZeroOne所说的那样 使用
android:text="label"
或者
android:text="@string/my_label" // for this to work you need to add reference in strings.xml inside your res folder