布局上的“标签”和“ID”是什么?

时间:2012-03-18 08:45:39

标签: android android-layout android-logcat

我知道switch语句是如何工作的,但我不知道这意味着什么(R.id.webbutton)。任何人都可以解释它是什么以及什么是TAG? 是否有适合初学者的指南?我的意思是绝对的初学者。

3 个答案:

答案 0 :(得分:60)

IDs and Tags

<强>的ID

  

视图可能具有与之关联的整数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在整个树中不一定是唯一的,但它很好   实践,以确保它们至少在部分内是独一无二的   你正在寻找的树。

<强>代码

  

与ID不同,标签不用于标识视图。标签本质上是   可以与视图关联的额外信息。他们   最常用于存储与视图相关的数据的便利性   观点本身而不是将它们分开   结构

     

标签可以在布局XML中使用字符序列值指定为使用android:tag属性的单个标签或使用子元素的多个标签:

 <View ...
       android:tag="@string/mytag_value" />
 <View ...>
     <tag android:id="@+id/mytag"
          android:value="@string/mytag_value" />
 </View>
     

也可以使用setTag(Object)setTag(int, Object)从代码中使用任意对象指定标记。

答案 1 :(得分:11)

Id是你的xml组件的id [可能是textview,edittext ...或者viewgroup就像linearlayout,relativelayout ......或者其他任何东西]在xml中只是你可以在java代码中通过说

(R.id。“你的观点在xml中的id”)

但首先你应该使用setContentView(R.layout。“你的项目中layout / res中的xml文件名”) 这个xml文件,您想要使用它的组件。

TAG我想在logcat中显示消息时使用它[eclipse中的工具你可以在运行时看到你的app消息]说String TAG = yourclassname.class.getsimpleName();

并在Log.d中使用它(TAG,“这里的任何字符串”+我班上的一些变量我想知道它在应用程序运行的特定时间内的值);

我希望我向你说清楚。

答案 2 :(得分:2)

tutorials开始。 (如果您绝对是初学者,但尚未设置开发环境,请从Installing the SDK开始。)

在Android中使用控制台日志工具时,日志记录方法的第一个参数是一个标记,可用于过滤logcat输出。典型的编程风格是:

public class Something { 
    private static final String TAG = "Something";

    public void aMethod() {
        Log.i(TAG, "Entered aMethod");
    }
    . . .
}

这就是TAG。

教程中解释了资源ID。在XML中定义资源时,Android会生成一个名为R的类,其中包含用于不同类型资源的嵌套类(R.idR.stringR.layout等)。每个嵌套类对于该类型的每个资源都有一个常量。 R.id.webbutton可能是从包含属性android:id="@+id/webbutton"的按钮的布局文件生成的。这些都在教程中解释。