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

问题描述 投票:17回答:3

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

android android-layout android-logcat
3个回答
11
投票

Id是你的xml组件的id [可能是像textview,edittext ...或者viewgroup喜欢linearlayout,relativelayout ......或者其他任何东西]的id,只需你可以在java代码中通过说法来引用它们

(R.id。“你的xml视图的id”)

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

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

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

我希望我向你说清楚。


60
投票

IDs and Tags

标识

视图可能具有与之关联的整数id。这些ID通常在布局XML文件中分配,用于查找视图树中的特定视图。一种常见的模式是:

在布局文件中定义一个Button,并为其分配一个唯一的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)从代码中使用任意对象指定标签。


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"的按钮的布局文件生成的。这些都在教程中解释。

© www.soinside.com 2019 - 2024. All rights reserved.