在android开发中:
通常会为视图分配一个ID,以区别于其他视图。该ID在XML中被赋予字符串值。方法 findViewByID(int id)采用整数参数来获取视图。
我们使用属性android:id。
为XML中的视图分配标记方法 findViewById()采取什么价值以及如何生成数字ID,我们用它来跟踪视图层次结构中的任何视图?
由于
答案 0 :(得分:1)
如果要在XML中声明ID,请执行android:id="@+id/myId"
R是Java类。当您为XML视图包含上述行时,public static final int myId
字段将包含在R类中。您可以从自己的课程中引用它。
findViewById(int)
接受一个整数作为参数。 R类包含整数,而不是您作为XML id输入的字符串。
以下是R类的样本。
public final class R {
public static final class id {
public static final int ReflectionsLevelText=0x7f0d00af;
public static final int about=0x7f0d01b3;
public static final int action0=0x7f0d014d;
public static final int action_bar=0x7f0d005f;
public static final int action_bar_activity_content=0x7f0d0000;
public static final int action_bar_container=0x7f0d005e;
}
}
因此,如果您要访问ID为action_bar
的视图,则必须致电findViewById(R.id.action_bar)
以同样的方式,R类还包括drawable,dimension和基本上所有的资源。它们正是R类中的内部静态类。
例如,当您向ic_my_pic.png
添加drawable res/drawable
时,会在R类中生成一个字段。它看起来像,
public final class R{
public static final class drawable{
public static final int ic_my_pic=0x7f020000;
}
}
现在,您可以通过
从您的课程中访问此图片imageView.setImageResource(R.drawable.ic_my_pic);
答案 1 :(得分:0)
当gradle构建您的应用时,它会生成一个"
require_once '../postmark/Autoloader.php';
\Postmark\Autoloader::register();
// this file should be the target of the callback you set in your postmark account
$inbound = new \Postmark\Inbound(file_get_contents('php://input'));
然后,您将使用生成的R类在代码中引用它:
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/myEditText" />
答案 2 :(得分:0)
窗口中的所有视图都排列在一棵树中。您可以通过代码或通过在一个或多个XML布局文件中指定视图树来添加视图。
视图可能有与之关联的整数ID。这些ID通常在布局XML文件中分配,用于在视图树中查找特定视图。
常见的模式是: 在布局文件中定义一个按钮,并为其分配一个唯一的ID。
<Button
android:id="@+id/my_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/my_button_text"/>
从Activity的onCreate方法中,找到Button
Button myButton = (Button) findViewById(R.id.my_button);
视图ID在整个树中不一定是唯一的,但最好确保它们在您正在搜索的树的部分内至少是唯一的。
参考:https://developer.android.com/reference/android/view/View.html