Android View ID'

时间:2016-06-14 12:15:46

标签: android android-resources

在android开发中:

通常会为视图分配一个ID,以区别于其他视图。该ID在XML中被赋予字符串值。方法 findViewByID(int id)采用整数参数来获取视图。

我们使用属性android:id。

为XML中的视图分配标记

方法 findViewById()采取什么价值以及如何生成数字ID,我们用它来跟踪视图层次结构中的任何视图?

由于

3 个答案:

答案 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);

您可以找到更多信息herehere

答案 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